给定以下 classes,完成 Student class 的代码,以便在我们 运行 Q01 class 时打印以下输出
Given the following classes, complete the code for the Student class so that the following output is printed when we run the Q01 class
给定以下 classes,完成 Student class 的代码,以便在我们 运行 Q01 class 时打印以下输出。提示:Student class 是 Person
的 child class
这是输出:
部门:CSE,ID:20101001,姓名:Mark Wahlberg
部门:BBA,ID:20101002,姓名:Zeeko Zaki
部门:CSE,编号:20101002,姓名:Zeeko Zaki
public 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();
}
}
我在 class
下面创建了一个新的 class
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);
}
}
我无法编译这段代码。如何解决这个问题呢?我的错误在哪里?
Student 的构造函数需要先调用父class 的构造函数。
为此你需要调用 'super' 并传递正确的参数,在这种情况下,父 class (Person) 有 2 个构造函数,默认构造函数是私有的,只能在Person class 所以你必须为 subclass Student 使用第二个构造函数,它采用字符串名称。 e.i。
public Student(String department,int id,String name){
super(name);
this.department=department;
this.id=id;
this.name=name;
}
给定以下 classes,完成 Student class 的代码,以便在我们 运行 Q01 class 时打印以下输出。提示:Student class 是 Person
的 child class这是输出:
部门:CSE,ID:20101001,姓名:Mark Wahlberg
部门:BBA,ID:20101002,姓名:Zeeko Zaki
部门:CSE,编号:20101002,姓名:Zeeko Zaki
public 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();
}
}
我在 class
下面创建了一个新的 classpublic 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);
}
}
我无法编译这段代码。如何解决这个问题呢?我的错误在哪里?
Student 的构造函数需要先调用父class 的构造函数。
为此你需要调用 'super' 并传递正确的参数,在这种情况下,父 class (Person) 有 2 个构造函数,默认构造函数是私有的,只能在Person class 所以你必须为 subclass Student 使用第二个构造函数,它采用字符串名称。 e.i。
public Student(String department,int id,String name){
super(name);
this.department=department;
this.id=id;
this.name=name;
}