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

非静态初始化静态成员变量没报错

// 静态初始化块

       { 

System.out.println("通过静态初始化块初始化age");

age = 20;

}


正在回答

2 回答

这个问题问得好。

静态初始化块只能给静态变量赋值,不能初始化普通的成员变量,但是你这个情况是用“普通初始化块”给“静态变量”赋值,没有问题。

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

幕布斯6000395 提问者

你的意思是普通初始化块是通用的,静态初始化块唯一用途就是最先被执行
2017-09-21 回复 有任何疑惑可以回复我~
#2

M__ 回复 幕布斯6000395 提问者

跟那个执行先后顺序没关系。我的意思是,针对你这个问题,你的做法是用“普通初始化块”给“静态变量”赋值,与上面我说的“静态初始化块只能给静态变量赋值”不是一个做法
2017-09-21 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//59c1d102000122dd08650414.jpg为什么运行正常没报错

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

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530714    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

非静态初始化静态成员变量没报错

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