java继承性构造方法调用(java构造方法的调用方式)

Java继承性构造方法调用的概念

在Java中,当一个类继承自另一个类时,它也继承了父类的成员变量和方法,但是却不能直接继承父类的构造方法。因为构造方法的名称必须与类名相同,如果子类继承了父类的构造方法,就会在子类中出现两个相同名称的构造方法。这就需要使用继承性构造方法调用,让子类能够调用父类的构造方法。

使用super关键字调用父类构造方法

在Java中,用super关键字来调用父类的构造方法。子类可以通过super关键字调用父类的构造方法,从而传递父类中的数据给子类。以下是一个例子:

public class Person {
  private String name;
  
  public Person (String n) {
    name = n;
  }
}

public class Student extends Person {
  private int grade;
  
  public Student (String n, int g) {
    super(n); //调用父类构造方法
    grade = g;
  }
}

在这个例子中,Person类有一个名为name的字符串类型私有成员变量和一个名为Person的构造函数,该构造函数接收一个参数名称,并将其存储到该成员变量中。Student类继承Person类,并有一个名为grade的私有成员变量和一个名为Student的构造函数,该构造函数接收两个参数名称和等级。该构造函数使用super(n)语句调用Person类的构造函数,将名称从Student类传递给其父类Person类。

构造方法的顺序和super语句的位置

当一个子类的对象被创建时,首先调用父类的构造方法,然后再调用子类的构造方法。如果子类构造方法中使用了super关键字,super语句必须是子类构造方法代码的第一条语句。

以下是一个例子:

java继承性构造方法调用(java构造方法的调用方式)

public class Animal {
  public Animal () {
    System.out.println("调用Animal类的构造方法");
  }
}

public class Cat extends Animal {
  public Cat () {
    super(); //调用父类构造方法
    System.out.println("调用Cat类的构造方法");
  }
}

public class Main {
  public static void main(String[] args) {
    Cat c = new Cat();
  }
}

在这个例子中,Animal类有一个名为Animal的构造方法,该构造方法用于显示一条消息。Cat类继承Animal类,并有一个名为Cat的构造函数,该构造函数使用super语句调用Animal的构造函数并显示另一条消息。Main类创建了一个Cat类的对象c,它将显示以下结果:

调用Animal类的构造方法
调用Cat类的构造方法

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/javand1.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年4月24日 下午7:08
下一篇 2023年4月24日 下午7:08

猜你喜欢