黑马程序员技术交流社区
标题:
对象.(点)不出静态字段?为什么是1。1。2?
[打印本页]
作者:
guobin_lu
时间:
2013-3-31 17:16
标题:
对象.(点)不出静态字段?为什么是1。1。2?
public class TestClass1
{
public static int Num1; //默认有隐式的静态构造函数
public int Num2;
public TestClass1()
{
Num1++;
Num2++;
}
}
执行
TestClass1 t1 = new TestClass1();
TestClass1 t2 = new TestClass1();
复制代码
此时t1.Num2、 t2.Num2、 TestClass1.Num1 的值分别为?
作者:
DWC_5101
时间:
2013-3-31 17:57
静态字段,只有类可以访问,对象是点不出来的。
t1.Num2 :在执行构造函数时,有++操作,值为 1;
t2.Num2 :同上;
TestClass1.Num1 :这是静态变量,属于TestClass1类,与对象无关,所以两次new对象时,都会修改值,就是2了。
作者:
J_hom
时间:
2013-3-31 18:17
本帖最后由 J_hom 于 2013-3-31 18:19 编辑
静态变量应该是 类名称和对象都点的出来吧,而静态方法只能用类名称点方法吧
作者:
郑丹丹1990
时间:
2013-3-31 21:03
我的理解:
Static静态变量的问题。可以查下静态变量和普通常量的区别。
静态常量分配内存的原则。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2