Sobes.tech
Junior — Middle

Kokia yra raktažodžio 'super' vaidmuo ir paskirtis Java kalboje?

sobes.tech AI

Atsakymas iš AI

Raktažodis super Java kalboje naudojamas prieiti prie tėvinės (superklasės) narių (metodų ar laukų) iš pogrupio. Jis leidžia:

  • Iškvietti tėvinės klasės konstruktorių iš pogrupio konstruktoriaus (super()), kas yra privaloma, jei tėvinė klasė neturi beparametrinio konstruktoriaus.
  • Pasiekti tėvinės klasės metodus, jei jie perrašyti pogrupyje, pvz., super.methodName().
  • Pasiekti tėvinės klasės laukus, jei jie paslėpti tokiais pačiais pavadinimais pogrupyje.

Pavyzdys:

class Animal {
    void sound() {
        System.out.println("Gyvūno garsas");
    }
}

class Dog extends Animal {
    void sound() {
        super.sound(); // tėvinės klasės metodo iškvietimas
        System.out.println("Laižymas");
    }
}

public class Main {
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.sound();
    }
}

Išvestis:

Gyvūno garsas
Laižymas