gpt4 book ai didi

java父类(super class)显示方法

转载 作者:行者123 更新时间:2023-12-02 03:35:18 25 4
gpt4 key购买 nike

我有一个问题,假设我有一个名为 public class School{} 的类作为 super 类。并将公共(public)类(class)学生{}公共(public)类(class)讲师{}作为子类(class)。我有一个名为 public class SchoolDriver{}

的类(class)

我有一个方法叫做

public void displayStudent(){
super.display();
System.out.println("I am student.");
}

在学生类里面。

我有一个名为

的方法
public void displayInstructor(){
super.display();
System.out.println("I am instructor.");
}

关于讲师类(class)。

我在学校类里面有一个名为 public void display(){??????}的方法

如何在学校类(class)显示方法上编写displayInstructor()和displaystudent()?

最佳答案

How to write displayInstructor() & displaystudent() on School class display method?

根据提供的信息,这是不可能的。

I have class called public class School{} as a super class. and have public class Student{} & public class instructor{} as child class.

这个对象模型对我来说毫无意义。学生不是学校,导师也不是学校。继承代表一种is-a关系。因此,请将学生、教师和学校司机视为不同职业的人。例如,您可能有一个 Person 类,它是所有人的基类。

public class Person {
private String lastName;
private String firstName;

public Person(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}

public String getFullName() {
return this.firstName + " " + this.lastName;
}

@Override
public String toString() {
return getFullName();
}
}

然后您可能会有相应代表学生和教师的类(class)。请注意,我重写了 toString() 方法,而不是使用 displayInstructor()displaystudent()

public class Student extends Person {
public Student(String firstName, String lastName) {
super(firstName, lastName);
}

@Override
public String toString() {
return getFullName() + " is student";
}
}

public class Instructor extends Student {
public Instructor(String firstName, String lastName) {
super(firstName, lastName);
}

@Override
public String toString() {
return getFullName() + " is instructor";
}
}

在代码中的某个位置,您可以创建人员并调用 toString() 方法来显示有关他们的信息。

Student student = new Student("John", "Smith");
Instructor instructor = new Instructor("John", "Rolfe");

System.out.println(student.toString());
System.out.println(instructor.toString());

这将打印以下内容

John Smith is student
John Rolfe is instructor

关于java父类(super class)显示方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37520587/

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