码迷,mamicode.com
首页 > 编程语言 > 详细

java继承问题

时间:2015-08-04 12:58:36      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:

现在的现象是子类继承父类。然后重写了父类的一个方法,父类的构造函数中调用了父类的这个方法,那么当子类实例化连带父类实例化时调用的就是子类重写的方法。

代码:

父类:

public class Father {
  public Father() {
    System.out.println("基类构造函数{");
    show();
    new a();
    System.out.println("}");
  }
  public void show() {
    System.out.println("基类----show");
  }
  public class a {
    public a() {
      System.out.println("inner class 构造函数");
    }
  }
}

子类:

public class Child extends Father{
  public static void main(String[] arf){
    new Father().show();
    System.out.println("--------------------我是分割线-------------------------");
    new Child().show();
    System.out.println("--------------------我是分割线-------------------------");
    new Father().show();
  }
  public Child(){
    System.out.println("子类构造函数");
  }
  public void show(){
    System.out.println("extend基类-----show");
  }
}

运行结果:

--------------------我是分割线-------------------------
基类构造函数{
基类----show
inner class 构造函数
}
基类----show
--------------------我是分割线-------------------------
基类构造函数{
extend基类-----show
inner class 构造函数
}
子类构造函数
extend基类-----show
--------------------我是分割线-------------------------
基类构造函数{
基类----show
inner class 构造函数
}
基类----show
--------------------我是分割线-------------------------

     从运行结果上可以看出来运行的顺序。

     特别,运行结果中间部分构造函数中,调用的show()是子类的重写的方法,即子类的方法。

java继承问题

标签:

原文地址:http://www.cnblogs.com/xiufengd/p/4701488.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!