4.5 Расширенное управление доступом (часть 3)

Модификатор доступа private

Модификатор доступа private - самый ограничительный модификатор доступа. Он делает переменные и методы видимыми только в данном классе. Следовательно, класс верхнего уровня в иерархии наследования никогда не объявляется как private. Следующая программа показывает использование модификатора доступа private.

Пример 11:
class PrivateClass
{
private int x;
public PrivateClass()
          {
x = 100;
          }
private void printX{)
          {
System.out.println( Value of x is +x);
          }
}

class PrivateDemo
{
PrivateClass p;
publiс PrivateDemo()
          {
p = new PrivateClass();
p.printX();
          }
public static void main(String args[])
          {
new PrivateDemo();
          }
}


При компилировании этой программы, произойдёт следующая ошибка компиляции.
PrivateDemo.Java:10: No method matching printX() found in class PrivateClass p.printX();
1 error

В вышеупомянутой программе, мы объявили метод printX () как private. Следовательно, этот метод не доступен в классе PrivateDemo. Теперь измените нашу программу и добавьте следующую запись в конструкторе класса PrivateClass после записи назначения:
printX();
и удалите следующую запись из конструктора класса PrivateDemo:
р.printX();

Когда мы скомпилируем и выполняем нашу программу, мы получим следующий вывод.
Value of х is 100

Это показывает, что private особенности класса доступны только из этого класса.

Модификатор доступа Friendly

Friendly - не ключевое слово, но в отсутствии любого модификатора на класс или переменную или метод, они получают этот модификатор. Они становятся дружественными (friendly), то есть к ним можно обратиться из любого класса в том же самом пакете. К дружественным методам или переменным класса нельзя обратиться из другого класса другого пакета, который унаследовал данный класс.
Рассмотрите следующую таблицу описания модификаторов доступа.


Таблица 1: Модификаторы доступа

назад к оглавлению вперед

Rus. Open Source company, г. Саратов
ул. Орджоникидзе, 156, офис 203
тел: 8 (8452) 57-84-41
e-mail: info@rus_opensource.com

Главная | Обзоры | О разном
Карта сайта

Учебная литература:

Введение в Linux
Основы JAVA
Архивы

© 2013 opensourcerules.net