Java中子类调用父类构造方法的问题分析

残情不惑紅

残情不惑紅

2016-02-19 10:12

图老师小编精心整理的Java中子类调用父类构造方法的问题分析希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~

在Java中,子类的构造过程中,必须调用其父类的构造函数,是因为有继承关系存在时,子类要把父类的内容继承下来,通过什么手段做到的?   

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

答案如下:   

 当你new一个子类对象的时候,必须首先要new一个父类的对像出来,这个父类对象位于子类对象的内部,所以说,子类对象比父类对象大,子类对象里面包含了一个父类的对象,这是内存中真实的情况.构造方法是new一个对象的时候,必须要调的方法,这是规定,要new父类对象出来,那么肯定要调用其构造方法,所以:   

 第一个规则:子类的构造过程中,必须调用其父类的构造方法。一个类,如果我们不写构造方法,那么编译器会帮我们加上一个默认的构造方法,所谓默认的构造方法,就是没有参数的构造方法,但是如果你自己写了构造方法,那么编译器就不会给你添加了,所以有时候当你new一个子类对象的时候,肯定调用了子类的构造方法,但是在子类构造方法中我们并没有显示的调用基类的构造方法,就是没写,如:super(); 并没有这样写,但是这样就会调用父类没有参数的构造方法,如果父类中没有没有参数的构造方法就会出错。   

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

 第二个规则:如果子类的构造方法中没有显示的调用基类构造方法,则系统默认调用基类无参数的构造方法注意:如果子类的构造方法中既没有显示的调用基类构造方法,而基类中又没有默认无参的构造方法,则编译出错,所以,通常我们需要显示的:super(参数列表),来调用父类有参数的构造函数。
代码如下:

//当你没有使用父类默认的构造方法时,此时在子类的构造方法中就需要显示的调用父类定义的构造方法。
 class Animal{
   private String name;

   //如果你定义一个新的构造方法
   public Animal(String name) {
     this.name = name;
   }
 }

 public Dog extends Animal{

   //这时你就要显示的调用父类的构造方法,因为子类默认调用的是父类的
   //无参构造方法Animal()
   public Dog(){
     super("小狗");  //显示调用父类的有参构造方法

     ....  //子类的构造方法处理
   }
 }

 //当然,如果你在父类里面把无参的构造方法,显示的写出来了,比如:
 class Animal{
   private String name;

   //无参的构造方法
   public Animal() {
     .....  //处理
   }

   /*
   如果你定义一个新的构造方法,那么在子类的构造方法中,就可以不用显示的调用父类的构造方法,因为子类有个无参的构造方法,
   子类在构造方法中会自动调用父类已经定义的无参构造方法。
   */
   public Animal(String name) {
     this.name = name;
   }
 }

总结:不过一般的,在父类中使用了构造方法的重载,在子类中就可以根据需要,调用相应的父类构造方法。

展开更多 50%)
分享

猜你喜欢

Java中子类调用父类构造方法的问题分析

编程语言 网络编程
Java中子类调用父类构造方法的问题分析

java中子类继承父类,程序运行顺序的深入分析

编程语言 网络编程
java中子类继承父类,程序运行顺序的深入分析

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

浅谈Java中父类与子类的加载顺序详解

编程语言 网络编程
浅谈Java中父类与子类的加载顺序详解

java父类和子类初始化顺序的深入理解

编程语言 网络编程
java父类和子类初始化顺序的深入理解

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

PHP 如何调用 JAVA 类库

Web开发
PHP 如何调用 JAVA 类库

基础:VC调用JAVA方法的一个注意问题

编程语言 网络编程
基础:VC调用JAVA方法的一个注意问题

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

在Win 7下使用的虚拟光驱软件

在Win 7下使用的虚拟光驱软件

Windows 7在桌面上总是显示大小写锁定和数字锁定图标如何设置

Windows 7在桌面上总是显示大小写锁定和数字锁定图标如何设置
下拉加载更多内容 ↓