0
가 있습니까? 기본 클래스 속성을 상속 받거나 런타임에 오류가 발생합니까? 이 속성들에 대한 getter와 setter는 어디에 있어야합니까?은 내가 <code>Abstract</code> 클래스가 같은 추상 클래스의 속성 이름과 그 자식 클래스 시나리오
가 있습니까? 기본 클래스 속성을 상속 받거나 런타임에 오류가 발생합니까? 이 속성들에 대한 getter와 setter는 어디에 있어야합니까?은 내가 <code>Abstract</code> 클래스가 같은 추상 클래스의 속성 이름과 그 자식 클래스 시나리오
Subclass 속성은 부모 클래스 속성을 숨 깁니다. 이것은 shadowing을 호출하고 java에서 허용됩니다. 그것을 피하는 것이 가장 좋습니다. 다음 코드 샘플을 통해이를 확인할 수 있습니다.
public class ClassChild extends ClassParent {
private Integer id;
private String message;
ClassChild(Integer id, String message) {
this.id = id;
this.message = message;
}
@Override
public String toString() {
return "ClassChild{" +
"id=" + id +
", message='" + message + '\'' +
'}';
}
public static void main(String[] args) {
ClassChild cs = new ClassChild(1, "Test");
System.out.println(cs);
System.out.println(cs.message);
System.out.println(cs.id);
System.out.println(((ClassParent)cs).id);
System.out.println(((ClassParent)cs).message);
}
}
쉽게 들리겠습니까? –
나에게 오류가 발생하지 않기 때문에 나는 호기심을 보인다. – MDaniyal
부모의 값이 표시되지 않습니다. – Kelvin