码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-11-01 17:46:21      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:分享图片   rgs   技术   cto   构造   父类   就会   package   构造方法   

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();
 }
}

 

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

标签:分享图片   rgs   技术   cto   构造   父类   就会   package   构造方法   

原文地址:https://www.cnblogs.com/qianmo123/p/9890519.html

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