a8551069 2010-12-15 18:08
浏览 231
已采纳

谁给我解释下这段代码的输出原理?

class singlen {
private static singlen obj=new singlen();
public static int count1;
public static int count2=5;

private singlen(){
    //count1++;
    System.out.println("councstor"+count2);
    count2++;
}
public static singlen getInstence(){
    return obj;
}

}

class dd{
public static void main(String[] args){
singlen s=singlen.getInstence();
System.out.println("count1=="+s.count1);
System.out.println("count2=="+s.count2);

}

}

如题 谢谢

  • 写回答

4条回答 默认 最新

  • 华子82 2010-12-16 14:39
    关注

    其实就是初始化的一个先后顺序问题
    先执行构造函数
    [code="java"]
    private singlen(){
    count1++;
    count2++;
    }
    [/code]
    count1和count2的值都变成1,然后在进行变量的赋值
    [code="java"]
    private static singlen obj=new singlen();
    public static int count1;
    public static int count2=5;
    [/code]
    count1没有值,跳过,count2赋值为5,

    所以最后打印室1和5

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 slam rangenet++配置
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊