두 개의 클래스 A
와 B
.
클래스 A를 제외하고 내 소프트웨어의 다른 위치에서 클래스 B가 호출되거나 참조되지 않도록하려면 어떻게해야합니까?
B
내부에 수업을 쓸까 생각했는데 A
특별히별로 좋아하지 않아요.
다음과 같이 할 수 있습니까? 클래스 B의 메서드를 누가 호출했는지 확인하고 클래스 A가 아닌 경우 무시합니까?
액세스를 제한하는 유일한 방법은 일종의 액세스 수정자를 통하는 것입니다.
public class A {
private static class B {
}
}
그러나 당신은 중첩 또는 내부 클래스를 원하지 않는다고 말했습니다.
대안은 두 클래스에 대해 별도의 패키지를 만들고 B
패키지에만 표시 되도록 만드는 것 입니다. (이것이 허용되는지 여부는 정확한 상황에 따라 다릅니다.)
A.java
package ab;
public class A {
}
B.java
package ab;
class B {
}
여기 B
에는 기본 ( "패키지 비공개"또는 "패키지 보호"라고도 함) 가시성이 있습니다. 가시성은 패키지 내로 제한됩니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다