2011-04-20 7 views
3

클래스가 A이고 클래스가 B 인 경우 A의 내부 클래스입니다. 다른 클래스도 있습니다 B. A에 없습니다.내부 클래스의 이름 충돌을 피하는 방법은 무엇입니까?

class A { 
    ... 
    class B { 
     ... 
    } 
    ... 
} 

class B { 
    ... 
} 

어떻게 A에서 외부 B의 인스턴스를 만들 수 있죠?

class A { 
    B name = new B(); 
} 

은 내부 B의 인스턴스를 갖습니다.

+0

[다른 최상위 클래스와 같은 이름의 Java 내부 클래스] 가능한 복제본 (http://stackoverflow.com/questions/5897853/java-inner-class-with-the-same-name-as-other -top-level-class) –

답변

8

B 외부의 정규화 된 이름을 지정하십시오. Bcom.acme 패키지에있는 경우 이라고 말하십시오.

+2

절대로 기본 패키지를 사용하지 않는 것이 가장 좋은 이유입니다! 기본 패키지 ("")를 사용하면 모호하지 않게하는 방법이없는 경우가 있습니다. 나는 이것이 그런 경우 일 것 같아요. –

+0

@ 마크 : 100 % 동의 함. –

관련 문제