일반적으로 변수에 직접 액세스하는 것은 좋지 않습니다. 아래 코드와 같은 것을 사용해보십시오.
테스트 드라이버
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
OK, 초보자라도 스페이스 바를 적절하게 사용할 수 있어야합니다 ... –
컴파일러에서 오류가 발생하면 항상 질문에 포함하십시오. –