Оператор instanceof возвращает true, если объект является экземпляром класса или его потомком.
это код в скобках вне методов и конструкторов
выполняется перед конструктором если блоков инициализации несколько то они выполняются по порядку
Бывают так же статические блоки инициализации (их код выполняется при первой загрузке класса когда создаешь первую переменную)
Блоки инициализации можно использовать в анонимных классах (и те и те)
статик блок предка
статик блок потомка
обычный блок предка
обычный блок потомка
конструктор предка
конструктор потомка
При создании абстрактного класса
Это класс объект которого нельзя создать. Он нужен чтобы от него наследовали.
При создании абстрактного метода (может быть только в абстрактном классе). Это метод без реализации.
Интерфейсы и их методы скрытно абстрактные так что можно это не писать.
Нет ты бальной больной
иллигал комбынэйшн оф модифаерс
abstract говорит что в другом классе реализуем
static говорит что метод доступен только по имени класса
что метод или поле класса принадлежит классу а не объекту
ссылаться можно только на статические методы и переменные
нельзя использовать .this и .super
Не скомпилируется
Перегрузить можно, но переопределить нельзя.
вложенный класс можно объявить статическим
- может обращаться только к статическим полям обёртывающего класса (в том числе и к приватным)(Доступ к нестатическим полям обрамляющего класса может быть осуществлен только через ссылку на экземпляр обрамляющего объекта)
-
Переменные должны быть инициализированы во время объявления или в static блоке.
Модификатор static говорит о том, что метод или поле класса принадлежат не объекту, а классу.
Внутри static метода нельзя вызвать не статический метод по имени класса.
Про static класс смотрите ответ выше.
Может быть применено к полям, методам или классам
Ключевое словоinterfaceиспользуется для создания полностью абстрактных классов. Создатель интерфейса определяет имена методов, списки аргументов и типы возвращаемых значений, но не тела методов.
Наличие словаinterfaceозначает, что именно так должны выглядеть все классы, которые реализуют данный интерфейс. Таким образом, любой код, использующий конкретный интерфейс, знает только то, какие методы вызываются для этого интерфейса, но не более того.
Интерфейс может содержать поля, но они автоматически являются статическими (static) и неизменными (final).
Все методы и переменные неявно объявляются как public.
final нельзя потому что он ещё нереализован
static можно прописать методу если ты хочешь реализовать его в интерфейсе но не делай так