gpt4 book ai didi

java - 我如何在子类java中使用父类(super class)方法

转载 作者:行者123 更新时间:2023-11-30 02:59:59 27 4
gpt4 key购买 nike

public void setName (String n){}
public void setAfm (String a){}

这些是我需要调用的父类(super class)方法。

SalariedEmployee (){
name = super.setName(String n);
afm = super.setAfm(String a);
salary = payment();

这就是子类中的构造函数。我怎样才能正确调用这些方法。我不想在 SalariedEmployee 中使用任何参数,我想使用父类(super class)方法设置名称和 afm 。但我的方法都是无效的。所以我想我必须改变这一点,对吗?或者我还缺少其他东西吗?提前致谢!

最佳答案

编辑:您还可以使用 setter 。仅当您想从父类(super class)中调用已在子类中重写的方法时,“super”关键字才是必需的。

您应该使用构造函数来设置初始值,但使用 setter 也是一个可能的解决方案:

class Employee {
String name;
String afm;

public Employee() {
}
public Employee(String name, String afm) {
super();
this.name = name;
this.afm = afm;
}

public void setName(String name) {
this.name = name;
}

public void setAfm(String afm) {
this.afm = afm;
}

}

class SalariedEmployee extends Employee {
//Using constructors
public SalariedEmployee(String name, String afm) {
super(name, afm);
salary = payment();
}
//using setters
public SalariedEmployee() {
setAfm("afm");
setName("name");
salary = payment();
}
}

此外,像“setName”这样的 setter 方法应该为 void,因为您不希望它返回任何与“getName”这样的 getter 方法不同的内容。

关于java - 我如何在子类java中使用父类(super class)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36238079/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com