java ocjp题库问题求解答

lomyc 2015-11-10 05:15:02
public class Bunnies{
static int count = 0;
Bunnies(){
while(count<10 new bunnies(++ count);
}
Bunnies(int x) {super (); }
public static void main (string [] args){
new bunnies ();
new Bunnies(count);
system.out.println( count ++);
}
}
what is the result?
答案 10
为什么呢?
从主方法开始 先new bunnies 调用无参构造方法 因为小于10 所以又 new Bunnies此时count加了1变成1,然后调用Bunnies( int x)
但是里面是super()啊,这里没看到父类,不懂啊,求详细的解答,谢谢
...全文
121 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lomyc 2015-11-13
  • 打赏
  • 举报
回复
lomyc 2015-11-12
  • 打赏
  • 举报
回复
为什么会实例化10个bunnies 实例? while(count<10 new bunnies(++ count);后不是 变成 new bunnies(1); 然后调用Bunnies(int x) {super (); }
soton_dolphin 2015-11-11
  • 打赏
  • 举报
回复
Bunnies 的构造器会实例化10个bunnies 实例,每实例化一个实例,counter 就加一,当第十个实例化之后, counter = 9 + 1 = 10. system.out.println( count ++); 这一句先打出counter = 10, 再给COUNTER + 1; 所以看到的就是10
lomyc 2015-11-11
  • 打赏
  • 举报
回复
求大神解答,别沉啊

62,614

社区成员

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

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