Что фактически передаётся в метод Java при передаче переменной ссылочного типа?
База Hintsage
Java Core
Базовая семантика языка, типы, методы, классы и ключевые конструкции.
Практика
Вопросы: Java Core
В какой момент Java выбирает перегруженный метод: при компиляции или во время выполнения?
Как Java определяет порядок инициализации экземпляра при создании объекта?
Разберите обращение к статическому полю через null-ссылку: возникнет ли исключение при таком доступе?
Объясните механизм: почему объявление ссылочной переменной как final не делает объект неизменяемым?
К каким последствиям приводит вызов переопределяемого метода из конструктора Java-класса?
Сравнение двух объектов Integer через ==: когда результат может зависеть от значения числа?
Практическая ситуация: переменная объявлена типом родителя, но ссылается на объект потомка с переопределённым экземплярным методом. Реализацию какого класса выберет Java при вызове?
Как ведёт себя Java при выполнении return из блока try, если блок finally завершает метод собственным return?
Рассмотрите ситуацию: при вызове метода с параметром примитивного типа ему передают null через ссылку-оболочку. На каком этапе и почему возникает ошибка?
Из-за чего добавление нового проверяемого исключения в сигнатуру переопределяемого метода может нарушить компиляцию реализации потомка?
Практическая ситуация: определите, какое исключение увидит вызывающий код после выполнения метода run.
class Demo {
static class Resource implements AutoCloseable {
@Override
public void close() {
throw new IllegalStateException("close");
}
}
static void run() {
try (Resource resource = new Resource()) {
throw new IllegalArgumentException("body");
}
}
}
Как Java выбирает поле при обращении через переменную типа родителя, если потомок объявил поле с тем же именем?
Практическая ситуация: класс реализует два интерфейса с одноимёнными default-методами. Как Java разрешает конфликт?
Что произойдёт в Java, если обработчик общего типа исключения объявлен перед обработчиком его подкласса?
Практическая ситуация: класс-потомок объявил статический метод с тем же именем, что у родителя. Какую реализацию выберет Java при обращении через переменную типа родителя?
Какое требование предъявляется к локальной переменной, захватываемой лямбда-выражением в Java?
Чем различаются правила начальной инициализации полей и локальных переменных в Java?
Метод потомка возвращает более конкретный тип результата, чем метод родителя: считается ли это переопределением?
Представьте, что локальная переменная объявлена через var: изменится ли её тип после присваивания объекта другого класса?
Показано 1–20 из 50