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

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

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

fanfan321 2015-08-29 17:08:35
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();  }}
查看完整描述

1 回答

?
dumbaodouble

TA贡献17条经验 获得超3个赞

将各方法块中的 num1,num2,num3前面的int 去掉。

如果加上int,方法块中的num1,num2,num3就是局部变量。show方法调用的是实例变量,而实例变量的初始值是0。

查看完整回答
反对 回复 2015-08-29
  • 1 回答
  • 0 关注
  • 1985 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号