静态初始化块中的方法调用,请教什么num1,num2,num3的输出都是0?


public class HelloWord {

  int num1;

  int num2;

  static int num3;


  public HelloWord(){//构造方法

 int num1=1;

 System.out.println("购造方法"+num1);

  }

   {//初始化块

 int num2=2;

 System.out.println("初始化"+num2);

  }

  static {//静态初始化

 int num3=3;

 System.out.println("静态初始化"+num3);

  }

  public void show(){

 System.out.println("num1:"+num1);

 System.out.println("num2:"+num2);

 System.out.println("num3:"+num3);  

  }

  public static void main(String[] args){

 HelloWord hello=new HelloWord();

 hello.show();

 HelloWord hello1=new HelloWord();

  }

}



fanfan321
浏览 1986回答 1
1回答

dumbaodouble

将各方法块中的 num1,num2,num3前面的int 去掉。如果加上int,方法块中的num1,num2,num3就是局部变量。show方法调用的是实例变量,而实例变量的初始值是0。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java