PDA

Visualizza la versione completa : (java) costruttore super


abcd1000
09-09-2003, 13:40
ho una classe A che estende AbstractAction e al suo interno ha seguente linea di codice

super("nome_classe_A");


Poi ho una classe B che estende la A dove volevo mettere la linea di codice

super("nome_classe_B");

Ques'ultima linea per˛ invece di riferirsi ad AbstractAction mi punta alla classe A, come faccio dalla classe B ad arrivare al costruttore della classe astratta AbstractAction?

esiste tipo:

super.super(nome_classe_B);

?
thx

javamen
09-09-2003, 15:50
DOVE HAI MESSO I SUPER(....) ???

abcd1000
09-09-2003, 15:56
contenuto del file ClasseA.java

public class ClasseA extend AbstractAction{
public Classe A() {
super("nome_classeA");
}

contenuto del file ClasseB.java

public class ClasseB extend ClasseA {
public Classe B() {
super("nome_classeB"); <--- riga errata
}

La riga errata non va bene perchŔ quel super si riferisce alla classeA, mentre io vorrei che quel super si riferisse alla classe AbstractAction

javamen
09-09-2003, 20:27
Premessa a titolo informativo:
super non si riferisce al costruttore ma alla superclasse.
Invece super() si riferisce al costruttore della superclasse

Dato che il primo super() Ú all'interno del costruttore ClasseA()

Nel costruttore ClasseB() come hai scritto tu

public ClasseB() {
super("nome_classeB"); // richiami il costruttore ClasseA() che a sua volta richiama il costruttore della sua superclasse.
}

L'errore Ú che il costruttore ClasseA() non accetta parametri.

quindi il costruttore ClasseA sarÓ

public Classe A(String nome) {
super(nome);
}







:ciauz:

abcd1000
09-09-2003, 20:40
the per la delucidazione

Loading