对象初始化块即{。。。}比构造器先执行吗?给大家送分。凡进者均有分,直到分分完为止。

云上飞翔 2008-05-11 01:07:19
热闹热闹,给大家送分:
凡进者均有分,直到分分完。
思考下例(请不要用工具运行后再回答):
public class TestInitial {
private int x=1;//数据成员初始化

{//对象初始化块
x=2;
}
public TestInitial()//这是构造器
{
this(x);//若你认为:先做对象初始化块,再做构造器。那么问:此处的实参x的值是什么?
}
public TestInitial(int y)
{}
}

若你认为:先做对象初始化块,再做构造器。那么问:上述的实参x的值是什么?
选择:
A:x值是2
B:x值是1
C:x值是0
D: 根本不行,编译出错。

你选哪一个?
...全文
522 60 打赏 收藏 转发到动态 举报
写回复
用AI写文章
60 条回复
切换为时间正序
请发表友善的回复…
发表回复
sachmx1234 2009-05-23
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 bfqnnui 的回复:]
总结一下:
如果是楼主那样的,答案是D
如果x前加上static,答案是B
如果初始化前面也加上static,答案是A.
[/Quote]


同意
k6286520 2008-09-24
  • 打赏
  • 举报
回复
这个程序不能运行,会出错!
CRC622 2008-06-06
  • 打赏
  • 举报
回复
初学者,到底是谁说的对,都蒙了,楼主能亲自解释一下么?
phoenix_dt 2008-06-05
  • 打赏
  • 举报
回复
学到东西了!!
qdtianjinhua 2008-05-12
  • 打赏
  • 举报
回复
up
ganglong99 2008-05-12
  • 打赏
  • 举报
回复
D:根本不行,编译出错
应该将private的x指定为static的,那样才能在调用构造器之前得到初始化,构造器中的参数才有值,否则就会报错...
蚍蜉撼大树 2008-05-12
  • 打赏
  • 举报
回复
我认为先执行构造器在数据出事——在对象初始化
本题main得有static 与题意不符
liulang_129 2008-05-12
  • 打赏
  • 举报
回复
来晚了
code_JAVA 2008-05-11
  • 打赏
  • 举报
回复
我也认为是先代码块,后构造器
woailiu_bo 2008-05-11
  • 打赏
  • 举报
回复
这个题在论坛里有答案,我都看到好几个了的
最先执行的是{}里的语句,且在new 一个新对象的时候都会执行一次
t_ianya 2008-05-11
  • 打赏
  • 举报
回复
坐下看
学习
顺便接个分
palm_civet 2008-05-11
  • 打赏
  • 举报
回复
接分o(∩_∩)o...
javabird1986 2008-05-11
  • 打赏
  • 举报
回复
头昏
m1a2ddg80 2008-05-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 caoyinghui1986 的回复:]
说实在的。初始化这个东西还真不好理解。
[/Quote]

我同意这位的说法
xshy3412 2008-05-11
  • 打赏
  • 举报
回复
是阿,d
胡矣 2008-05-11
  • 打赏
  • 举报
回复
选择D
public TestInitial()//这是构造器
{
this(x);//若你认为:先做对象初始化块,再做构造器。那么问:此处的实参x的值是什么?
}

x并非类变量(非static)不能直接调用。
zuoguodang 2008-05-11
  • 打赏
  • 举报
回复
我来接分的,哈哈
双子星的雪季 2008-05-11
  • 打赏
  • 举报
回复
d
zuoguodang 2008-05-11
  • 打赏
  • 举报
回复
我来接分的,哈哈
pofich 2008-05-11
  • 打赏
  • 举报
回复
支持10楼的!A!继续关注~
加载更多回复(40)

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧