通常,直接访问变量并不是一个好主意。考虑使用类似下面的代码。
试车手
package com.example.input;
public class TestPeople {
public static void main(String[] args) {
Person s1 = new Person();
s1.setName("student 1").setAge(19);
Teacher t1 = new Teacher("Dr. Fun",0);
t1.setAge(56);
System.out.println("Student " + s1.getName() + ", " + s1.getAge());
System.out.println("Teacher " + t1.getName() + ", " + t1.getAge());
}
}
类人
package com.example.input;
public class Person {
private String name;
private int age;
public Person() {};
public Person(String aName, int anAge) {
setName(aName).setAge(anAge);
}
public String getName() {return name;}
public int getAge() {return age;}
public Person setName(String aName) { name = aName; return this;}
public Person setAge(int anAge) { age = anAge; return this;}
}
班主任
package com.example.input;
public class Teacher extends Person {
public Teacher() {
super();
}
public Teacher(String aName, int anAge) {
super(aName, anAge);
}
}
你什么错误?你正在使用代码('''t1.age = 56;''')。 – MrTux 2014-09-06 17:01:21
好的,即使是初学者也应该能够适当地使用空格键... – 2014-09-06 17:01:23
当编译器给出错误时,请始终将其包含在您的问题中。 – 2014-09-06 17:03:46