//此题的运行结果,以及执行过程如何?????
//i的值为何会是这么的,是因为子类并没有重新定义i,而是继承了父类的i,但是在构造方法中又重新给予赋值了,那其父类中的值也会发生改变的。
- <p>class Super</p><p>{
- 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
- {
- {
- System.out.println("d");
- System.out.println(i);
- }
-
- public Demo(String a)
- {
- //super();
- System.out.println("C");
- i=8;
- System.out.println(i);
- }
- public static void main(String[] args)
- {
- int i=4;
- Super d=new Demo("A");
- System.out.println(d.i);//BdC8
- }</p><p>}</p>
复制代码
|
|