java父类继承问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 00:12:14
尚学堂 马士兵老师的一个例子 敲了程序结果不对
程序如下:

class Person {
private String name;
private String location;

Person(String name) {
this.name = name;
location = "Beijing";
}

Person(String name, String location) {
this.name = name;
this.location = location;
}

public String info() {
return "name: " + name + "\nlocation: " + location;
}
}

class Student extends Person {
private String school;

Student(String name, String school) {
this(name, "Beijing", school);
}

Student(String n, String l, String s) {
super(n, l);
this.school = school;
}

public String info() {
return super.info() + "\nschool: " + school;
}
}

public class TestSuperSubPersonStudent {
public static void main(String[] args) {
Person p1 =

在student这个类里你写错了一个构造方法

class Student extends Person {
private String school;

Student(String name, String school) {
this(name, "Beijing", school);
}

Student(String n, String l, String s) {
super(n, l);
this.school = s; //这句你写错了 应该是这样写的
}

public String info() {
return super.info() + "\nschool: " + school;
}
}

Student(String name, String school) {
this(name, "Beijing", school);
}
改成
super(name);
this.school=school;

有3个参数的构造方法中:
this.school = s;