2013-10-08 7 views
0

, 다른 클래스를 필요로 ClassA를 호출, 그것을 ClassB를 호출 : 1) 내 프로그램에서 다른 클래스가 액세스를 필요로하지 않습니다 ClassB. 2) ClassBClassA 상태에 대한 정적 액세스가 필요하지 않습니다. 이 두 지점이 유지되면내가 공용 클래스 내 정적 클래스를 사용하는 경우, 또는 내가 공용 클래스가있는 경우 단지 고독한 클래스

, 같은 ClassBclass ClassB {ClassA 밖에서 일해야 public static class ClassB {public class ClassA { 내에서, 또는 ClassB 여부를 수 있는지 여부에 대한 가이드 라인이있다?

+0

일반적으로 데이터 해석 질문과 같습니다 : p –

답변

2

이 거 ClassA의 외부에서 사용하지 이후로, 그것이 될 것이 좋습니다 :

private class ClassB { 

} 
+0

왜'static'이 아닌'class'입니까? – user2763361

+0

죄송합니다. 두 번째 요구 사항을주의 깊게 읽지 않았습니다. –

2

ClassBClassA의 정의, 유용한 일을 독립적으로 할 수 있습니까? ClassA 구현의 일부인 경우에만 ClassA에 개인 정적 클래스로 정의하십시오. 독립적 인 의미를 지닌 경우, 잠재적 인 유용성의 범위에 따라 패키지 또는 공용 액세스로 최상위 클래스로 정의하십시오.

0

ClassB는 ClassA 상태에 대한 정적 액세스가 필요하지 않으므로 classB는 개인 내부 클래스가 될 수 있습니다.

비 정적 중첩 클래스 (내부 클래스)가 개인 선언 된 경우에도, 바깥 쪽 클래스의 다른 멤버 에 액세스 할 수 있습니다. 정적 중첩 클래스는 동봉 된 클래스의 다른 멤버에 액세스 할 수 없습니다. OuterClass의 멤버로서 중첩 클래스는 private, public 또는 protected로 선언 할 수 있습니다. (javadoc에서)

관련 문제