2011-09-15 3 views

답변

2

재미있는 점 : Object 클래스는 서브 클래스 중 하나, 즉 String을 알고 있습니다 (특히 toString() 메서드를 선언하고 구현).

Java 언어 사양의 일부는 모든 클래스가 Object의 암시 적 하위 클래스라는 것입니다. 기술적으로 클래스의 서브 클래스 중 하나를 참조하는 것은 "형편없는 디자인"이지만, 나는 그것이 "엣지 케이스"라고 생각하고 걱정할 대상이 아니라고 생각합니다.

3

하위 클래스가 존재하는 한 이는 문제가되지 않습니다. 예를 들어, 다음은 유효합니다

A.java :

public class A { 
    B b; 
} 

B.java :

public class B extends A { 

} 
0

하게 ObjecttoString의 기본 구현이 있기 때문에 String 인스턴스가 반환됩니다. 모든 클래스는 Object의 인스턴스이므로 하위 클래스에 toString을 구현할 수 있지만 구현해야하지만 무료로 기본 구현을 항상 가져옵니다.

다른 클래스의 인스턴스를 반환하는 모든 클래스에서 메서드를 방지하는 방법은 없습니다. 당신은 항상 SomethingElse가 다른 클래스입니다

return new SomethingElse()

을 할 수 있습니다.

관련 문제