小白求大神解答 谢谢

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();

}

在这段代码中

  1. 为什么创建对象时没有执行num 1;num 2;num 3;呢?

  2. 在System.out.println(hello.num3);中为什么可以用num3\hello.num3\Demo.num3?

慕数据3565510
浏览 1417回答 3
3回答

cyc川

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

慕数据3565510

第一个问题知道了,钻牛角尖了,已经执行了num 1=91等,只是没有输出
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java