[英]Basic Inheritance help in Java
我是 Java 新手,我正在努力增加我的知識。 我目前被困在涉及基本繼承的作業上。 這是我的代碼,我的輸出將使用不同的名稱進行測試。 我似乎根本無法獲得 iutput。 我在 Onheritance 上查找過視頻,但似乎對我的情況沒有幫助。 我究竟做錯了什么?
public class StudentDerivationFromPerson {
public static void main (String [] args) {
StudentData courseStudent = new StudentData();
courseStudent.printAll();
System.out.println(", ID: " + courseStudent.setID());
}
}
這是整個代碼
// ===== Code from file PersonData.java =====
public class PersonData {
private int ageYears;
private String lastName;
public void setName(String userName) {
lastName = userName;
}
public void setAge(int numYears) {
ageYears = numYears;
}
// Other parts omitted
public void printAll() {
System.out.print("Name: " + lastName);
System.out.print(", Age: " + ageYears);
}
}
// ===== end =====
// ===== Code from file StudentData.java =====
public class StudentData extends PersonData {
private int idNum;
public void setID(int studentId) {
idNum = studentId;
}
public int getID() {
return idNum;
}
}
// ===== end =====
// ===== Code from file StudentDerivationFromPerson.java =====
public class StudentDerivationFromPerson {
public static void main (String [] args) {
StudentData courseStudent = new StudentData();
courseStudent.printAll();
System.out.println(", ID: " + courseStudent.setID());
}
}
// ===== end =====
方法printAll
應該是被覆蓋在StudentData
類,使用呼叫super.printAll()
來重用和打印數據的人:
public class StudentData extends PersonData {
private int idNum;
public void setID(int studentId) {
idNum = studentId;
}
public int getID() {
return idNum;
}
@Override
public void printAll() {
super.printAll();
System.out.println(", ID: " + idNum);
}
}
那么下面的例子
public class StudentDerivationFromPerson {
public static void main (String [] args) {
StudentData courseStudent = new StudentData();
courseStudent.setName("Doe");
courseStudent.setAge(21);
courseStudent.setID(1001);
courseStudent.printAll();
}
}
印刷:
Name: Doe, Age: 21, ID: 1001
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.