【2021-06-30】分析程序的运行结果,并解释为什么?
请移步至:
每日一题 查看更多的题目 ~
第一题
MyTestClass
public class MyTestClass {
private static MyTestClass myTestClass = new MyTestClass();
private static int a = 0;
private static int b;
private MyTestClass() {
a++;
b++;
}
public static MyTestClass getInstance() {
return myTestClass;
}
public int getA() {
return a;
}
public int getB() {
return b;
}
}
Test
public class Test {
public static void main(String[] args) {
MyTestClass myTestClass = MyTestClass.getInstance();
System.out.println("myTestClass.a : " + myTestClass.getA());
System.out.println("myTestClass.b : " + myTestClass.getB());
}
}
请说出程序的执行结果,并解释为什么?
第二题
MyTestClass2
public class MyTestClass2 {
private static int a = 0;
private static int b;
private MyTestClass2(){
a++;
b++;
}
private static final MyTestClass2 myTestClass2 = new MyTestClass2();
public static MyTestClass2 getInstance(){
return myTestClass2;
}
}
Test
public class Test {
public static void main(String[] args) {
MyTestClass2 myTestClass2 = MyTestClass2.getInstance();
System.out.println("myTestClass2.a : " + myTestClass2.getA());
System.out.println("myTestClass2.b : " + myTestClass2.getB());
}
}
请说出该程序的执行结果,并解释为什么?
查看答案