2
다음과 같이 다른 패키지에 두 개의 클래스가 있습니다. 패키지 라이브러리의 기본 클래스입니다.슈퍼 클래스의 보호 된 변수가 다른 패키지의 하위 클래스에서 보이지 않음
package library;
public class Book{
public int varPublic;
protected int varProtected;
private int varPrivate;
int varDefault;
}
이며 패키지 건물의 하위 클래스입니다.
package building;
import library.Book;
public class StoryBook extends Book {
public static void main(String[] args) {
// TODO Auto-generated method stub
Book book = new Book();
book.varPublic = 10;
book.varProtected = 11;
}
}
나의 이해는 변수 "var.Protected는"클래스 이야기 책에서 볼 수 있어야하지만 난이 오류가 발생하고 있다는 점이다. 이클립스와 명령 프롬프트에서이 코드를 실행하려고했습니다.
사람은 자신의 상속 protected
멤버에 액세스 만 할 수있는 선언 클래스의 서브 클래스 인 다른 패키지에서이
this.varProtected = 11이 문서에서했다 걸릴;//이 잘 작동 할 것입니다 ... – Ashish
문제는 동일하지만 두 코드가 다릅니다. 다른 게시물에서 그는이 키워드를 사용하여 생성자 내에서 보호 된 변수를 지정합니다. 하지만 개체에 대한 참조와 함께 직접 보호 된 변수에 액세스하려고합니다. 나는 자바 프로그래밍의 초보자이며이 코드는 내가 작성한 코드가 자바 튜토리얼에 설명 된 것을 수행하지 않는다. – user3000126