黑马程序员技术交流社区

标题: 有继承发生时,子类未定义父类成员变量,而却在构造方..... [打印本页]

作者: java8023    时间: 2015-6-7 23:38
标题: 有继承发生时,子类未定义父类成员变量,而却在构造方.....
//此题的运行结果,以及执行过程如何?????
//i的值为何会是这么的,是因为子类并没有重新定义i,而是继承了父类的i,但是在构造方法中又重新给予赋值了,那其父类中的值也会发生改变的。

  1. <p>class Super</p><p>{
  2.         int i=0;
  3.         public Super(String a)
  4.         {
  5.                 System.out.println("A");
  6.                 i=1;        
  7.         }
  8.         public Super()
  9.         {
  10.                 System.out.println("B");
  11.                 i+=2;
  12.         }
  13. }
  14. class Demo extends Super
  15. {
  16.   {
  17.    System.out.println("d");
  18.    System.out.println(i);
  19.   }
  20.   
  21.   public Demo(String a)
  22.         {
  23.                 //super();
  24.                 System.out.println("C");
  25.                 i=8;
  26.     System.out.println(i);
  27.         }
  28.         public static void main(String[] args)
  29.         {
  30.                 int i=4;
  31.                 Super d=new Demo("A");
  32.                 System.out.println(d.i);//BdC8
  33.         }</p><p>}</p>
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2