안녕하세요, 저는 총 자바 초보자입니다. 솔직히 말하면 제 문제를 설명하는 방법에 대해서는 잘 모르겠습니다.static final 상속 -> 보이지 않음
그래서 두 클래스 중 하나가 다른 클래스에 상속됩니다.
이제는 수퍼 클래스를 변경할 수 없으므로 훨씬 쉬울 것입니다.
문제는 그 변수를 액세스 할 내 하위 클래스에서이 변수가 슈퍼 클래스에 다음과 같이 정의된다
을 (의 그것을 변수 1 부르 자)이다 : 내 에서 지금
static final String variable1 = (String)AccessController.doPrivileged(new PrivilegedAction()
{
public Object run() {
return System.getProperty("variable1", "\n");
}
}
);
하위 클래스 다음을 시도해보십시오.
this.finalOutputFormat = (replaceKeys(this.format) + variable1);
하지만 작동하지 않습니다. b 이클립스는 변수 1 이 "보이지 않습니다"라고 말합니다..
그건 내가 가진 유일한 오류입니다.
변수 1이 내 하위 클래스에 표시되지 않는 이유는 무엇입니까? 수퍼 클래스는 라이브러리로 가져 오지만 분명히 다른 패키지로 가져옵니다.
상황에 대한 내 설명이 너무 혼란스럽지 않지만 지금은 이보다 더 많은 정보가 없기를 바랍니다.
감사합니다.
http://docs.oracle.com/javase/tutorial/java/javaOO 슈퍼 클래스와 같은 패키지에 하위 클래스를 이동 /accesscontrol.html – arshajii
Google의 "자바 가시성"을 사용하면이 공식적인 문서 (http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html)를 찾을 수 있습니다. 이를 읽으면 "no visibility modifier"가있는 변수는 같은 클래스 또는 동일한 패키지에서만 액세스 할 수 있습니다. – Pshemo
감사합니다. 정말 감사드립니다. – user2653335