题目1
public class InitSequenceTest {
public static void main(String[] args) {
Sub sub = new Sub();
}
}
class Base {
Base() {
method(100);
}
{
System.out.println("base");
}
static {
System.out.println("base static");
}
public void method(int i) {
System.out.println("base = " + i);
}
}
class Sub extends Base {
Sub() {
super.method(70);
}
{
System.out.println("sub");
}
static {
System.out.println("sub static");
}
@Override
public void method(int j) {
System.out.println("sub = " + j);
}
}
输出结果
base static
sub static
base
sub = 100
sub
base = 70
题目2
public class TopicTest {
public static void main(String[] args) {
String s1 = "abc";
String s2 = new String("abc");
String s3 = "abc";
System.out.println(s1 == s2);
System.out.println(s1 == s3);
}
}
输出结果:
false
true
题目3
public class TopicTest {
public static void main(String[] args) {
int i = 2;
i = i ++;
System.out.println("i = " + i);
}
}
输出结果:
i = 2
题目4
public class TopicTest {
public static void main(String[] args) {
int i = 2;
i *= 0.1; // 等价于i = (int)(i * 0.1); 如果改写成 i = i * 0.1的话会编译报错。
//i = i * 0.1;// 编译报错
System.out.println("i = " + i);
}
}
输出结果
i = 0
题目5
public class TopicTest {
// 编写一个匿名内部类,它继承于Object,并在匿名内部类中声明一个方法public void method()打印"Hello World!"
public static void main(String[] args) {
new Object(){
public void method() {
System.out.println("Hello World!");
}
}.method();
}
}