방금 자바를 배우기 시작 했으므로 그 대답이 다소 분명한 경우 저와 함께하시기 바랍니다. 나는 약간의 연구를했으나 아무 소용이 없었다.속성에 대한 Java 필드 숨기기
내가 이해 한 바로는 속성은 무시되지 않고 필드 만 숨겨졌습니다. 수퍼 클래스 또는 서브 클래스의 속성이 사용되는지 여부를 판별하려면 Java가 참조 유형을 점검합니다.
가 그럼 난에서 여기에 출력을 서 있지 않습니다 : 그것은 나에게주는public class Super {
String str = "I'm super!\n";
public String toString() {
return str;
}
}
public class Sub extends Super {
String str = "I'm sub.\n";
}
public class TestFH {
public static void main(String[] args) {
Sub s1 = new Sub();
System.out.printf(s1.toString());
}
}
:
I'm super!
나는 내가 방법 오버라이드를 통해 쉽게 원하는 것을 달성 할 수 있음을 이해합니다. 나는 두포에서 일어나는 일에 대해서 궁금해. 사전에
감사합니다.
출력이 무엇을 기대 했습니까? –
@RohitJain 하위 클래스 참조 (s1)에서 메소드를 호출하므로 "하위입니다."라고 예상했습니다. – Boyang