A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. public class TestClass1
  2.     {
  3.         public static int Num1;  //默认有隐式的静态构造函数
  4.         public int Num2;
  5.         public TestClass1()
  6.         {
  7.             Num1++;
  8.             Num2++;
  9.         }
  10. }
  11. 执行
  12.         TestClass1 t1 = new TestClass1();
  13.     TestClass1 t2 = new TestClass1();

复制代码
此时t1.Num2、 t2.Num2、 TestClass1.Num1 的值分别为?

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

3 个回复

倒序浏览
静态字段,只有类可以访问,对象是点不出来的。

t1.Num2 :在执行构造函数时,有++操作,值为 1;
t2.Num2 :同上;
TestClass1.Num1 :这是静态变量,属于TestClass1类,与对象无关,所以两次new对象时,都会修改值,就是2了。
回复 使用道具 举报
本帖最后由 J_hom 于 2013-3-31 18:19 编辑

静态变量应该是 类名称和对象都点的出来吧,而静态方法只能用类名称点方法吧
回复 使用道具 举报
我的理解:
Static静态变量的问题。可以查下静态变量和普通常量的区别。
静态常量分配内存的原则。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马