我有4个不同的班级。一题Student
,一Instructor
,一Person
和Main
。下面是我的代码:
学生:
public class Student extends Person {
public void print() {
super.print();
System.out.println(", credits: " + credits);
}
}
讲师:
public class Instructor extends Person{
private double salary;
public double getSalary() {
return salary;
}
public void setSalary(double newSalary) {
salary = newSalary;
}
public void print() {
super.print();
System.out.println(", salary: " + salary);
}
}
人:
public class Person {
private String name;
private String id;
public String getName() {
return name;
}
public void setName(String replacementName) {
name = replacementName;
}
public String getID() {
return id;
}
public void setID(String id) {
this.id = id;
}
public void print() {
System.out.print(name + ", student ID: " + id);
}
}
主要的:
public class Main {
public static void main(String[] args) {
Instructor instructor = new Instructor();
instructor.setName("Hani Javadi");
instructor.setID("888777666");
instructor.setSalary(11111);
instructor.print();
System.out.println("--- --- ---");
Student student1 = new Student();
student1.setName("Joe Loop");
student1.setID("810123456");
student1.addCredits(10);
student1.print();
Student student2 = new Student();
student2.setName("Mary Collection");
student2.setID("811987321");
student2.addCredits(25);
student2.print();
Student student3 = new Student();
student3.setName("Ke Method");
student3.setID("810010101");
student3.print();
}
}
当我去输出这段代码时,结果是这样的:
Hani Javadi, student ID: 888777666, salary: 11111.0
Joe Loop, student ID: 810123456, credits: 10
Mary Collection, student ID: 811987321, credits: 25
Ke Method, student ID: 810010101, credits: 0
但是,输出需要有第一行:
Hani Javadi, instructor ID: 888777666, salary: 11111.0
任何人都可以帮助解决这个微不足道的错误吗?我已经努力了几个小时,试图通过if
在超类中添加一条语句来找到解决它的方法,Person
但似乎没有任何效果。有没有一种简单的方法可以让教师打印声明来显示教师 ID 而不是学生 ID?
哟,发生这种情况是因为您在 Person 类中获得了“学生 ID”,它适用于抽象级别
例如,您可以尝试在 Person 类中使用 next 方法:
public void print() {
System.out.print(name + ", " + getClass().getName() + " ID: " + id);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句