gpt4 book ai didi

java - 重构、使用 super 和定义

转载 作者:行者123 更新时间:2023-12-02 11:46:23 25 4
gpt4 key购买 nike

我有一个父类。但我的问题是两个子类及其父类(super class)。当我运行程序时,我无法从子类获得真正的访问权限以允许返回和打印。

问题在于定义名称和电子邮件并插入我认为应该使用“super”的内容。我不知道他们应该去哪里让程序运行。目前它允许我添加姓名和电子邮件,但当我运行打印时显示空白。

所以我需要知道一种定义 this.email = email 和 this.name = name 并使用 super 访问 getName 和 getEmail 的方法。

这方面非常新,因此我们将不胜感激。

super 类-

public class Member {

private String email;

private String name;


public String getEmail() {
return email;
}

public String getName() {
return name;
}
}
<小时/>

子类 2 -

class Teacher extends Member {

private String qualifications;


public Teacher(String name, String email, String qualifications) {
super.getName();
super.getEmail();
this.qualifications = qualifications;
}


public String getQualifications() {
return qualifications;
}


public String toString() {

StringBuffer details = new StringBuffer();
details.append(super.getName());
details.append(' ');

if (qualifications != null && qualifications.trim().length() > 0) {
details.append("(" + qualifications + ")");
details.append(' ');
}
details.append(super.getEmail());
return details.toString();
}
}

最佳答案

如果您的父类(super class)有构造函数,如下所示

public Member(String name, String email)
{
this.name = name;
this.email = email;
}

你可以在你的子类中使用这样的东西:

public Student(String name, String email)
{
super(name, email);
this.attendance = 0;
}

因此,当您编写 Student mark = new Student("Mark", "Mark@example.org") 时,您将能够调用 mark.getName() 它将返回他的名字,但不会将其分配给任何东西。

关于java - 重构、使用 super 和定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48170906/

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