快捷导航

小白求大神解答 谢谢

package com.imooc;public class Demo1 {        int num1;        int num2;        static int num3;        public Demo1(){                num1=91;                System.out.println("通过构造方法为变量num1赋值");        }        {                num2=74;                System.out.println("通过初始化块为变量num2赋值");        }        static{                num3=83;                System.out.println("通过静态初始化块为静态变量num3赋值");        }        public static void main(String[] args) {                Demo1 hello=new Demo1();                System.out.println(hello.num1);                System.out.println(hello.num2);                System.out.println(hello.num3);                Demo1 hello2=new Demo1();        }}在这段代码中为什么创建对象时没有执行num 1;num 2;num 3;呢?在System.out.println(hello.num3);中为什么可以用num3\hello.num3\Demo.num3?

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

有执行啊,输出也有。构造函数在程序运行之处就会运行。运行顺序不太懂。
第二个问题就简单了,自己百度一下static这个关键字就可以了。
回复

使用道具 举报

第一个问题知道了,钻牛角尖了,已经执行了num 1=91等,只是没有输出
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP