为了账号安全,请及时绑定邮箱和手机立即绑定

最后的pri2 hello2=new pri2()是怎么运行的?

package com.imooc;

public class pri2{
    int num1;
    int num2;
    static int num3;
    public pri2(){
        num1=91;
        System.out.println("通过构造方法为变量num1赋值");
        }
        {
            num2=74;
            System.out.println("通过初始化模块为num2赋值");
        }
        static{
            num3=83;
            System.out.println("通过静态初始化模块为怒目赋值");
        }
        public static void main(String[] args) {
            pri2 hello=new pri2();
            System.out.println("num1:"+hello.num1);
            System.out.println("num2:"+hello.num2);
            System.out.println("num3:"+num3);
            pri2 hello2=new pri2();
        }
    }

正在回答

2 回答

pri2 hello=new pri2();
            System.out.println("num1:"+hello.num1);
            System.out.println("num2:"+hello.num2);
            System.out.println("num3:"+num3);
            pri2 hello2=new pri2();

这些代码等同于

pri2 hello=new pri2();

 pri2 hello2=new pri2();

            System.out.println("num1:"+hello.num1);
            System.out.println("num2:"+hello.num2);
            System.out.println("num3:"+num3);

num3属于静态类只能被执行一次,所以执行结果缺少“”通过静态初始化块初始化  num3“         

0 回复 有任何疑惑可以回复我~

Static修饰的类成员,它的使用完全独立于该类的任何对象。Static块仅在该类被加载时执行一次。

0 回复 有任何疑惑可以回复我~
#1

Chen十八 提问者

非常感谢!
2017-04-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

最后的pri2 hello2=new pri2()是怎么运行的?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信