问题一:找书吧
问题二:StringBuffer 和 String 都没有重载 + 运算符,Java 中并可能重载运算符
但是 Java 为了连接字符串方便,为 String 提供了 + 运算符,所以
a + "," +b,实际上是 a.toString() + "," + b.toString(),这里面因为有一个字符串,所以默认的做了转换并且进行字符串相加。但 a + b 的时候,由于 StringBuffer 之间本身没有提供 + 运算,所以就不对了。
问题三:
考虑这种情况:
class A {
public A(String s) {
System.out.println("A " + s);
}
}
class B extends A {
public B() {
super("B");
}
}问题四:考虑这种情况:
class A {
public A(String s) {
System.out.println("A " + s);
} public static void main(String[] args) {
new A("Hello") {};
}
}
问题二:StringBuffer 和 String 都没有重载 + 运算符,Java 中并可能重载运算符
但是 Java 为了连接字符串方便,为 String 提供了 + 运算符,所以
a + "," +b,实际上是 a.toString() + "," + b.toString(),这里面因为有一个字符串,所以默认的做了转换并且进行字符串相加。但 a + b 的时候,由于 StringBuffer 之间本身没有提供 + 运算,所以就不对了。
问题三:
考虑这种情况:
class A {
public A(String s) {
System.out.println("A " + s);
}
}
class B extends A {
public B() {
super("B");
}
}问题四:考虑这种情况:
class A {
public A(String s) {
System.out.println("A " + s);
} public static void main(String[] args) {
new A("Hello") {};
}
}
问题四:考虑这种情况:
class A {
public A(String s) {
System.out.println("A " + s);
} public static void main(String[] args) {
new A("Hello") {};
}
}
我认为这里只是 An anonymous object
而不是 An anonymous inner class