黑马程序员技术交流社区

标题: 关于继承 [打印本页]

作者: DoubleUUU    时间: 2015-11-6 13:30
标题: 关于继承
  1. class Fu{
  2.       Fu(){
  3.              super();
  4.              [color=Red]//调用的是子类的show方法,此时其成员变量num还未进行显示初始化[/color]
  5.              show();
  6.              return;
  7.       }
  8.       void show(){
  9.             System.out.println("fu show" );
  10.       }
  11. }
  12. class Zi extends Fu{
  13.        int num = 8;
  14.        Zi(){
  15.              super();
  16.              //通过super初始化父类内容时,子类的成员变量并未显示初始化,等super()父类初始化完毕后,才进行子类的成员变量显示初始化
  17.              return;
  18.        }
  19.        void show(){
  20.             System.out.println("zi show..." + num);
  21.        }
  22. }
  23. class ExtendDemo{
  24.        public static void main(String[] args){
  25.             Zi z = new Zi();
  26.             z.show();
  27.        }
  28. }
复制代码

为何父类的构造函数里面调用的是子类的show()方法,那么基于这个程序如何才能调用父类的show方法()?
作者: 大自然的搬运工    时间: 2015-11-6 14:47
你创建子类对象,当然要调用子类的show方法了,编译看左边,执行看右边,多态那。一应该可以使用super.show()这个吧。




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