黑马程序员技术交流社区
标题:
这三题,如果不运行,你知道答案吗?
[打印本页]
作者:
。烊了
时间:
2014-12-5 17:19
标题:
这三题,如果不运行,你知道答案吗?
这三题 ,如果你运行,你能说出答案吗?
1)
public class Demo8 {
public static void main(String[] args) {
Test dq = Test.getInstance();
System.out.println(dq.age +"---"+dq.hight);
}
}
class Test
{
private static Test dq = new Test(10,100);
public static int age ;
public static int hight = 0;
private Test(int age, int hight){
this.age = age;
this.hight = hight;
}
public static Test getInstance(){
return dq;
}
}
复制代码
2)
public class Demo8 {
public static void main(String[] args) {
Test dq = Test.getInstance();
System.out.println(dq.age +"---"+dq.hight);
}
}
class Test
{
private static Test dq = new Test(10,100);
public static int age ;
public static int hight = 0;
private Test(int age, int hight){
age = age;
hight = hight;
}
public static Test getInstance(){
return dq;
}
}
复制代码
3)
public class Demo8 {
public static void main(String[] args) {
Test dq = Test.getInstance();
System.out.println(dq.age +"---"+dq.hight);
}
}
class Test
{
public static int age ;
public static int hight = 0;
private static Test dq = new Test(10,100);
private Test(int age, int hight){
this.age = age;
this.hight = hight;
}
public static Test getInstance(){
return dq;
}
}
复制代码
想清楚再回答哟~~~~~
还有大神,麻烦给解释一下~~~~
作者:
。烊了
时间:
2014-12-5 17:51
为毛的我的帖子总会沉
作者:
大大的心
时间:
2014-12-5 17:52
嘿嘿。我也不知道啊,你知道吗??
作者:
雪落纷飞
时间:
2014-12-6 00:00
坐等大神、我是晕乎乎
作者:
nuddlesW
时间:
2014-12-6 00:19
1. 10---0
2. 10---0
3. 10---100
其实就是加载的顺序问题,第一二个,开始就有构造赋值10和100,但是后面再执行静态构造成员时又把hight改成0了,而age因为前面已经赋值,所以不会变成默认0.
第三个,则是类一加载,静态成员就有了,而且全赋初始什0,但是后面再来静态构造方法,又给覆盖了,所以是 10,100.
不知道这样讲你明不明白,就是静态加载的顺序问题
作者:
曛丨黯淡浮华
时间:
2014-12-6 01:38
有点糊涂了 ~ 只猜中了2个 ~
第一个是给顺序给糊弄了,静态的加载 ——
第二个因为构造函数没有this , 所以都是 0 ,
第三个还好,只要看加载顺序就能弄懂了—— (PS: 毕竟之前错过了,怎么可能第三个还错 TAT
作者:
as604049322
时间:
2014-12-6 09:09
不懂~~~~
作者:
聪明叉
时间:
2014-12-6 09:48
nuddlesW 发表于 2014-12-6 00:19
1. 10---0
2. 10---0
3. 10---100
第二个错了,全都是0
作者:
nuddlesW
时间:
2014-12-6 10:16
聪明叉 发表于 2014-12-6 09:48
第二个错了,全都是0
恩恩,看错了,还以为第一个和第二个代码是一样的,原来少了this,这种题目没有什么意义,类似于咬文嚼字
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2