Иллюстрированный самоучитель по Java



              

Права доступа к членам класса - часть 2


Напомним, что класс вазе должен быть помечен при своем описании в пакете

p1

модификатором

public

, иначе из пакета

р2

не будет видно ни одного его члена.

Листинг 3.2.

Файл Inp2.java с описанием пакета

р2

package p2; 

import pl.Base;

class Inp2{

  public static void main(String[] args){

    Base b = new Base();

// b.priv = 1;   // "priv has private access in pl.Base" 

// b.pack = 1;   // "pack is not public in pl.Base;

                 // cannot be accessed from outside package"

// b.prot = 1;   //„"prot has protected access in pi.Base"

b.publ = 1;

  }

}

class Derivedp2 extends Base{

public void, f (Base a){ 

// a.priv = 1;       // "priv has private access in. p1.Base" 

// a.pack = 1;       // "pack, is not public in pi.Base; cannot

                     //be accessed from outside package" 

// a.prot = 1;       // "prot has protected access in p1.Base"

 a.publ = 1;

// priv = 1;         // "priv has private access in pi.Base" 

// pack = 1;         // "pack is not public in pi.Base; cannot

                     // be accessed from outside package"

 prot = 1;

 publ = 1; 

 super.prot = 1; 

  } 

}

Здесь, в другом пакете, доступ ограничен в большей степени.

Из независимого класса можно обратиться только к открытым,

public

, полям класса другого пакета. Из подкласса можно обратиться еще и к защищенным,




Содержание  Назад  Вперед