Java -практика использования

         

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 . В этих классах тоже сделана попытка обращения к полям класса вазе. Неудачные попытки прокомментированы сообщениями компилятора.


Содержание раздела