2013-03-11 5 views
4

기본 액세스 제어가있는 클래스 멤버는 패키지 레벨에서 액세스 할 수 있지만 패키지 레벨 액세스가 실제로 의미하는 바에 대해서는 혼란 스럽습니다. 기본 멤버가 패키지 레벨에서 액세스 될 수 있다면 다음 예제의 Test2 클래스에서 볼 수 없습니까? 클래스 1Java 패키지 레벨 액세스

package pkg1; 
public class Test { 
    int i=0; 
} 

클래스는 2

import pkg1.Test; 
public class Test2 { 

void get(){ 
    Test t = new Test(); 
    t.i=0; 
} 
} 

날이 개념을 받고 도와주세요. 미리 감사드립니다.

답변

8

패키지 레벨 액세스는 동일한 패키지에 으로 정의 된 클래스 만이 패키지 레벨 변수에 액세스 할 수 있음을 의미합니다. Test을 가져와야한다면 Test이 다른 패키지에 있다고 가정하므로 i에 액세스 할 수 없습니다.

i에 액세스하려면 Test2의 경우 Test1과 동일한 패키지에 정의하십시오.

0

당신은 Test2를 클래스에

package pkg1; 

을 작성하는 것을 잊지.

이제 작동합니다.