priv has private access in
Листинг 3.1.
Файл Base.java с описанием пакета
p1
package p1;
class Inp1{
public void f () {
Base b = new Base();
// b.priv = 1; // " priv has private access in p1.Base"
b.pack = 1;
b.prot = 1;
b.publ = 1;
}
}
public class Base{
private int priv = 0;
int pack = 0;
protected int prot = 0;
public int publ = 0;
}
class Derivedpi extends Base{
public void f(Base a) {
// a.priv = 1; // "priv hds private access in pi.Base"
a.pack = 1;
a.prot = 1;
a.publ = 1;
// priv = 1; // "priv has private access in pi.Base"
pack = 1;
prot = 1;
publ = 1;
}
}
Как видно из листинга 3.1, в пакете недоступны только закрытые,
private
, поля другого класса.
В файле Inp2.java описаны два класса:
inp2
и класс
Derivedp2
, расширяющий класс
base
. Эти классы находятся в другом пакете
р2
. В этих классах тоже сделана попытка обращения к полям класса вазе. Неудачные попытки прокомментированы сообщениями компилятора.
Содержание раздела