2016-09-01 1 views
1

여러 클래스가 포함 된 패키지가있는 곳에서이 클래스 중 하나가 최종 클래스 포인트 (많은 다른 클래스에서 사용되지만 해당 패키지 외부의 공용 액세스가 없음 ) 내가 마지막 항아리를 가져올 때이 경우 com.ve.free에)구현 자에게 libs 패키지 숨기기

지금, 그때 그가 할 수있는, 개발자가 내 lib 디렉토리를 사용하는 경우 것이 com.ve.free의 프로젝트 aswell에서 패키지를 만드는 실현 내 수업 점수를 사용하세요 ...

내 코드의 취약점이라고 생각하지만 어떻게 피할 수 있습니까?

미리 감사드립니다.

답변

0

일반적으로 문제가되지 않습니다. Visibiliti 수정자는 의도하지 않은 오류로부터 우리를 보호합니다. 누군가 의도적으로 규칙을 어기 길 원한다면 많이 할 수 없습니다.

하지만 정말로 묻는 것을 원한다면 라이브러리를 사용자 정의 클래스 로더와 함께 설계 할 수 있습니다. 모든 비밀 클래스가이 사용자 정의 클래스 로더에로드되어야합니다. 불행히도 reflection에서 보호되지 않습니다.

그러나 twise는 비용 이상의 이익이라고 생각합니까?

관련 문제