$ sudo teach IT
МОДУЛЬ 8 · УРОК 2

super and Method Overriding

super accesses parent members. @Override prevents overriding mistakes.

30 minBeginnerJavaOOP

super

super refers to parent class.

class Animal { String name = "Animal"; }
class Dog extends Animal { String name = "Dog";
    void print() {
        System.out.println(super.name); // Animal
        System.out.println(this.name);  // Dog
    }
}

super()

super() calls parent constructor. Must be first statement.

class Animal { Animal(String n) { } }
class Dog extends Animal { Dog() { super("Dog"); } }

@Override

@Override checks that the method actually overrides a parent method.

class Animal { void sound() { } }
class Dog extends Animal { @Override void sound() { } }

Rules

  • Same signature (name + parameters)
  • Covariant return type allowed
  • Access modifier: same or wider
  • final: cannot override

✅ Итоги урока

  • super accesses parent fields, methods, constructors.
  • super() calls parent constructor (first statement).
  • @Override prevents overriding mistakes.
  • Final methods cannot be overridden.
  • Dynamic binding: runtime type determines method called.

Next lesson: abstract classes.

Test: Test: super and @Override

3 вопроса

super и переопределение

Premium