继承与多态——动手又动脑

Posted qianmo123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了继承与多态——动手又动脑相关的知识,希望对你有一定的参考价值。

1.首先,第一次执行完源代码后

技术分享图片

了解到当调用一个子类的构造方法时,它会依次调用父类的构造函数。以下是原因:当一个类继承了其它类时,在它的构造函数(constructor)中super()必须被首先调用,如果super()没有被调用,则编译器将在构造函数(constructor)的第一行插入对super()的调用。这就是为什么当创建一个子类的对象时会调用父类的构造函数(constructor)的原因。

通过super调用基类构造方法时,必须是子类构造方法中的第一个语句。否则就会报错

技术分享图片

 构造一个对象,先调用其构造方法,来初始化其成员函数和成员变量。
子类拥有父的成员变量和成员方法,如果不调用,则从父类继承而来的成员变量和成员方法得不到正确的初始化。
不能反过来调用也是这个原因,因为父类根本不知道子类有什么变量而且这样一来子类也得不到初始化的父类变量,导致程序运行出错!

2.

代码:

/*
  信1705-1 杨瑞 20173610
 */
package dongshouyoudongnao;
 class A
{
 public void display() {
  System.out.println("A方法");
 }
}
 class B extends A
 {
  public void display() {
      super.display();
   System.out.println("B方法");
  }
 }
public class Fruit
{
 public static void main(String[] args) {
  B b=new B();
  b.display();
 }
}

 

























以上是关于继承与多态——动手又动脑的主要内容,如果未能解决你的问题,请参考以下文章

06-继承与多态(动手动脑与验证)

动手动脑 - 继承与多态

继承与多态 动手动脑

继承与多态———动手动脑

动手动脑---继承与多态

继承与多态 动手动脑