Модификаторы доступа в Java (Зачем нужен public в данном случае)
Если метод задать так:
public void eat(){
System.out.println("Animal is eating");
}
или так
void eat(){
System.out.println("Animal is eating");
}
В чём разница между этими двумя методами? Какую роль здесь играет модификатор доступа public
? Что будет, если его не написать? Метод вызывается в обоих случаях.
Ответы (1 шт):
Метод класса можно вызывать как внутри самого класса, так и за пределами его. Все, что нужно для вызова метода - это ссылка на объект этого класса. Модификаторы доступа ограничивают видимость тех или иных методов за пределами класса, а также за пределами пакета в котором этот класс определен. Делается это с целью инкапсуляции, делая часть методов недоступными извне.
Модификатор public
даёт доступ всем объектам возможность вызывать метод. В то время как без этого модификатора доступ имеют только классы находящиеся в том же пакете, что и данный класс. Соответственно он называется package private
по умолчанию.
Для полного понимания следует читать Java Tutorial.