내 문제는 말로 설명하기가 어렵 기 때문에 간단히 설명하고 내가하는 말을 이해하기를 바랍니다. :)공개를 사용하지 않고 다른 패키지의 보호 된 클래스 변수에 액세스
동일한 프로젝트의 내부 패키지에있는 클래스 내에서 보호되고 최종 변수 인 com.example.Main
(com.example.package.SomeClass.thisVarHere
)에 액세스하려고합니다.
package com.example;
import some.package.Here;
import another.package.Here;
static import com.example.package.InsideClass.statVar;
public class MainClass {
public void someMethod() {
System.out.println("Value of statVar is: " + statVar);
}
}
그리고 다른 클래스 :
package com.example.package;
import pa.cka.ge
public class InsideClass {
protected static String statVar = "Test variable";
}
내가 statVar
에 액세스하려고, 그것을 보호 이후, 나는 그것을 액세스 할 수 없음을 알려줍니다 여기에 내가 뭘하는지의 예입니다 (내가 예상했던대로). 하지만 다른 사람들이 액세스 할 수 있도록 공개 설정하지 않기를 바랍니다. 또한 은을 내부 패키지에 포함하므로 내부 클래스도 작동하지 않습니다. 이 일을 성취 할 수있는 방법조차 없습니까? 아니면 공개적으로 설정해야하며 외부의 당사자가 액세스하지 않기를 바랍니다. 어떤 제안이라도 대단히 감사하겠습니다. :) 고맙습니다!
공개 결승이 최선입니다. '내부 패키지'에 대한 귀하의 아이디어는 자바 패키지가 작동하는 방식에 대한 오해입니다. com.example과 com.example.package 사이에는 아무런 관련이 없습니다. 자신의 조직 이외에는 –
@MikeK입니다. 아, 알아. 이제는 생각해 보았습니다. 고마워, 그리고 환호. – kkirigaya
은 같은 프로젝트 내의 'com.example.package'이거나 외부 라이브러리입니까? –