本帖最后由 我为你着迷 于 2014-6-24 22:28 编辑
- class Super
- {
- int i=0;
- public Super(String a)
- {
- System.out.println("A");
- i=1;
- }
- public Super()
- {
- System.out.println("B");
- i+=2;
- }
- }
- class Demo extends Super
- {
- public Demo(String a)
- {
- System.out.println("C");
- i=5;
- }
- public static void main(String[] args)
- {
- int i=4;
- Super d=new Demo("A");
- System.out.println(d.i);
- }
- }
复制代码 大家好 这个程序的运行结果是B C 5
System.out.println(d.i);这句话打印的结果是5 。我的问题是d.i是啥意思啊 尼玛 给我看蒙了啊。KAO。
为什么不是直接输出System.out.println(i);呢?还是父类的引用在调用变量,那么如果是这样的话那运行应该走的是父类中的变量啊 应该是2吧 麻烦各路仁兄JAVA大神帮小弟解答下内心疑惑 3Q
|