留言与评论(共有 0 条评论) |
发布时间:2020-04-15 16:49:10
sum=11,因为 static 表示的是sum是静态的,或者说sum是只有一个的,sum可以通过类直接调用,也可以通过类的实例调用。不管你实列话多少类,都不会重新定义一个sum. d1构造的时候sum=6,然后再构造d2时,sum起始就是6,构造为11,这时候sum就变成11了啊。
这是变量作用域的问题.静态变量也叫类变量,其修饰符是static.静态常量修饰符是static final.
x在一个静态块中声明初始化(还是个局部变量),其作用域就在这个静态块中,也即起始于{, 结束于},在类中其他地方是不可见的。有两种改法,把x定义为实例变量(也叫成员变量),即去掉static{};或者是把x声明为类变量,即static int x;初始化任然在static{ x = 100;}中.如果是静态常量常采用如下做法:public static final int X = 100;
留言与评论(共有 0 条评论) |
全站搜索