클래스를 정의하는 방법이 다른 클래스 (로컬 변수 만)의 멤버가 될 수 없거나 다른 방법으로 - 회원들만이 아니고 지역 적이 아닙니다.클래스가 인스턴스화되는 컨텍스트에 대한 제약 조건 정의
클래스가 예상되는 범위를 지정할 수있는 방법이 있습니까?
클래스를 정의하는 방법이 다른 클래스 (로컬 변수 만)의 멤버가 될 수 없거나 다른 방법으로 - 회원들만이 아니고 지역 적이 아닙니다.클래스가 인스턴스화되는 컨텍스트에 대한 제약 조건 정의
클래스가 예상되는 범위를 지정할 수있는 방법이 있습니까?
나는 그렇게 생각하지 않는다. 그러나 나는 확실한 증거가 없습니다.
범위를 제한하려면 클래스 주석 (클래스 한정자의 하위 클래스)이 멤버 또는 로컬 변수에 할당되었는지, 제약을 위반했다.
단지 '로컬 변수'인스턴스 만 허용한다는 것을 나타내는 '유일한 로컬'수정자를 가진 클래스가 있다고 상상해보십시오.
public onlylocal class LocalUseOnlyClass implements Serializable {
//...
}
및 다른 클래스 누군가의
그냥 생성자에서했던 : 당신이 생성자에 LocalUseOnlyClass의 인스턴스를 통과하면private Object member;
public MyOtherClass(Serializable something) {
this.member = something
}
컴파일러는 감지 할 수 있기 때문에 JVM 확인했고, 예외 또는 오류를 throw합니다.
BTW & OT : 귀하의 의도는 무엇입니까? - 기본 요구 사항을 충족시키는 대안이있을 수 있습니다.
no. 멤버 및 로컬 변수를 서로 할당 할 수 있습니다.
왜 그렇게하고 싶습니까? 데코레이터를 허용하지 않습니까? –