給定以下類,完成 Student 類的代碼,以便在我們運行 Q01 類時打印以下輸出。提示:學(xué)生類是 Person 的子類這是輸出:部門:CSE,ID:20101001,姓名:Mark Wahlberg部門:BBA,ID:20101002,姓名:Zeeko Zaki部門:CSE,編號:20101002,姓名:Zeeko Zakipublic abstract class Person { private String name; private Person() { } Person(String name) { this.name = name; } protected String getName() { return name; } protected void setName(String name) { this.name = name; }}public class Q01 { public static void main(String[] args) { Student s1 = new Student("CSE", 20101001, "Mark Wahlberg"); Student s2 = new Student("BBA", 20101002, "Zeeko Zaki"); s1.printDetail(); s2.printDetail(); s2.setDepartment("CSE"); s2.printDetail(); }}我在班級下面創(chuàng)建了一個新班級public class Student extends Person{ public String department=""; public int id; public String name; public String Public(String name){ return name; } public Student(String department,int id,String name){ this.department=department; this.id=id; this.name=name; } public void setDepartment(String department){ this.department=department; } public String getDepartment(){ return department; } public void printDetail(){ System.out.println("Department: "+this.department+", ID: "+this.id+", Name: "+name); }} 我無法編譯這段代碼。如何解決這個問題呢?我的錯誤在哪里?
1 回答

慕姐4208626
TA貢獻(xiàn)1852條經(jīng)驗 獲得超7個贊
Student 的構(gòu)造函數(shù)需要先調(diào)用父類的構(gòu)造函數(shù)。
為此,您需要調(diào)用“super”并傳遞正確的參數(shù),在這種情況下,父類(Person)有 2 個構(gòu)造函數(shù),默認(rèn)構(gòu)造函數(shù)是私有的,并且只能在 Person 類中訪問,因此您必須使用第二個構(gòu)造函數(shù)子類 Student,它采用字符串名稱。艾
public Student(String department,int id,String name){
super(name);
this.department=department;
this.id=id;
this.name=name;
}
添加回答
舉報
0/150
提交
取消