2013-03-11 3 views
4

Я знаю, что члены класса с контролем доступа по умолчанию могут быть доступны на уровне пакета, но я смущен тем, что фактически означает доступ к уровню пакета. Если доступ к элементам по умолчанию можно получить на уровне пакета, тогда я не должен быть видимым в классе Test2 в следующем примере? класс 1-Доступ к уровню пакета Java

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.

Для Test2 для доступа i, определите его в той же упаковке, что и Test1.

0

Вы забыли написать

package pkg1; 

для класса test2.

Теперь он должен работать

Смежные вопросы