Ключевые слова

Основные разделы

null

instanceof

static

final

this

var

null

null - не объект, а определенное место в памяти.

null == null всегда будет true.

null - значение по умолчанию ссылочных типов.

instanceof - при проверке объекта с null вернет false.

instanceof - ключевое слово для проверки объекта на соответствие к классу или его потомку.

if(a instanceof Integer){...}
        

Возможность при проверке создавать переменную(since v.14)

if (animal instanceof Cat cat) {
    cat.meow();
} else if(animal instanceof Dog dog) {
    dog.woof();
}
        

Возможность для record классов создавать переменные из класса(since v.21)

if(pos instanceof Position(int x, int y)) {
    System.out.println("Position:" + x ", " + y)}
        

this

this - имеет два значения.

Из static классов this недоступно.

var(since v.10)

var - возможность сократить объявления переменных. Просто скрывает тип за словом var. Байт-код будет такой же. Используется для локальных переменных(внутри методов), но не в качестве полей классов.

Условия объявления

var users = new ArrayList<User>();