Инициализация переменных по умолчанию

Главная → Основы Java
Инициализация переменных по умолчанию![]() Хитрый protected![]() По ссылочным переменным protected-члены доступны наследникам из того же пакета. Но наследникам из другого пакета они недоступны. ... Читать дальше » Static. Принадлежат классу![]() Статические методы не переопределяются в классе-наследнике, методы родительского класса просто скрываются. При компиляции вызываться будет метод того класса, который послужил типом для ссылочной переменной. ... Читать дальше » Static. Существуют всегда![]() В статических методах нельзя вызывать non-static переменные или методы, т.к. на момнет их вызова, non-static члены класса еще не существуют - они существуют только в объекте. Но в non-static можно вызывать static методы и переменные, т.к. они существуют независимо от того, был создан объект или нет. ... Читать дальше » Импорт пакетов с одноимёнными классами![]() Если требуется обратиться к классу с таким же именем из другого пакета, придётся указывать его полное квалификационное имя. ... Читать дальше » Import![]() Нельзя импортировать из разных пакетов классы с одинаковыми именами. ... Читать дальше » Несколько классов в одном файле. Public![]() Т.о. java-файл может содержать сколько угодно классов/интерфейсов с пакетной зоной видимости и только один public-класс или public-интерфейс, имя которого совпадает с именем этого файла. ... Читать дальше » Несколько классов в одном файле. Default![]() Все классы и интерфейсы в таком файле должны находиться в одном пакете, они не могут быть в разных пакетах. ... Читать дальше » Модификаторы доступа и не-доступа для типов Java![]() private - доступ к свойству/методу только внутри того класса, в котором он объявлен. protected - доступ к свойству/методу внутри того класса, в котором он объявлен, а также из классов-наследников, независимо от того, в каком пакете они находятся. default - доступ к свойству/методу внутри того класса, в котором он объявлен, а также из классов и классов-наследников того же пакета. default – это область вызова, а не модификатор доступа. Т.о. областей видимости четыре, а модификаторов три. Все классы, интерфейсы и enum верхнего уровня (не вложенные в другие типы) могут иметь область видимости только public или пакетную (default). Внешний класс не может быть private или protected, это приводит к ошибке компиляции. Вложенные и внутренние типы могут иметь любой модификатор доступа. ... Читать дальше » |