Модификатор доступа 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: Модификаторы доступа