Guida alla parola chiave super Java

1. Introduzione

In questo rapido tutorial, daremo uno sguardo alla parola chiave super Java.

In poche parole, possiamo usare la parola chiave super per accedere alla classe genitore.

Esploriamo le applicazioni della parola chiave principale nella lingua.

2. La super parola chiave con i costruttori

Possiamo usare super () per chiamare il costruttore predefinito genitore . Dovrebbe essere la prima istruzione in un costruttore.

Nel nostro esempio, usiamo super (messaggio) con l' argomento String :

public class SuperSub extends SuperBase { public SuperSub(String message) { super(message); } }

Creiamo un'istanza di classe figlio e vediamo cosa sta succedendo dietro:

SuperSub child = new SuperSub("message from the child class");

La nuova parola chiave richiama il costruttore del SuperSub , che a sua volta chiama prima il costruttore principale e gli passa l' argomento String .

3. Accesso alle variabili della classe padre

Creiamo una classe genitore con la variabile di istanza del messaggio :

public class SuperBase { String message = "super class"; }

Ora creiamo una classe figlia con la variabile con lo stesso nome:

public class SuperSub extends SuperBase { String message = "child class"; public void getParentMessage() { System.out.println(super.message); } }

Possiamo accedere alla variabile genitore dalla classe figlia utilizzando la parola chiave super .

4. La super parola chiave con override del metodo

Prima di andare oltre, ti consigliamo di consultare la nostra guida alla sostituzione del metodo.

Aggiungiamo un metodo di istanza alla nostra classe genitore:

public class SuperBase { String message = "super class"; public void printMessage() { System.out.println(message); } }

E sovrascrivi il metodo printMessage () nella nostra classe figlia:

public class SuperSub extends SuperBase { String message = "child class"; public SuperSub() { super.printMessage(); printMessage(); } public void printMessage() { System.out.println(message); } }

Possiamo usare il super per accedere al metodo sovrascritto dalla classe figlia . Il super.printMessage () nel costruttore chiama il metodo genitore da SuperBase .

5. conclusione

In questo articolo abbiamo esplorato la parola chiave super .

Come al solito, il codice completo è disponibile su Github.