This commit is contained in:
roma-dxunvrs
2026-09-08 10:01:11 +03:00
parent 8fda05110c
commit c21621b5dd
4 changed files with 37 additions and 2 deletions
@@ -49,4 +49,15 @@ class C extends A {
## Сигнатура метода при переопределении
[[Функции#Сигнатура|Сигнатура]] должна совпадать, при этом имена параметров, как и положено, могут быть изменены
## Аннотация @Override
При переопределении можно использовать аннотацию `@Override` - компилятор проверит, правильно ли вы переопределяете метод (сигнатуру, модификаторы)
При переопределении можно использовать аннотацию `@Override` - компилятор проверит, правильно ли вы переопределяете метод (сигнатуру, модификаторы)
## Тип ошибки при переопределении
Если родительский метод выбрасывал [[Система исключений|ошибку]] через `throws`, то в переопределяемом методе можно сужать тип ошибки (указывать наследников)
```Java
class A {
protected void method() throws Exception {}
}
class B extends A {
@Override
public void method() throws IOException {}
}
```