Instanzisierung via Vererbung?

Status
Nicht offen für weitere Antworten.

vogella

Bekanntes Mitglied
Hallo,

Ich habe für meine Swing Menü und Buttons javax.swing.action verwendet.

Damit diese im Menü und in der Button Leiste immer gleich sind (z.B. enabled oder nicht enabled) verwendet ich Singletons und rufe z.B. so was auf:

Code:
public static SaveAction getInstance(){
		if (instance == null){
			instance = new SaveAction();
		}
		return instance;
	}

Für die Fehlerbehandlung das Loggin habe ich eine abstrakte Klasse "MyAction extends AbstractAction". Die eigentlichen Actions erweitern dann MyAction (SaveAction extends MyAction).

Da alle meine Actions getInstance() implementieren, würde ich die Methode gerne in MyAction ziehen.

Nun zu meiner Frage: Geht das? Was muß ich dann anstelle von "new SaveAction();" schreiben? Ich vermute sowas wie class.newInstance(), habe es aber durch herumprobieren nicht hinbekommen.

Viele Grüße, Lars
 
S

SlaterB

Gast
'nicht hinbekommen' ist keine ordentliche Fehlerbeschreibung,

was funktioniert an
return getClass().newInstance();
nicht,
abgesehen davon, dass das nicht sehr schön ist,
ich mich frage, wie du bei Vererbung mehrere Singletons für verschiedene Klasse vorhalten willst
und dass 'static'-Operationen sowieso nicht vererbt werden können..
 

vogella

Bekanntes Mitglied
Hallo SlaterB,

ich hatte vergessen, daß static Methoden nicht vererbt werden. Dann macht meine Anfrage keinen Sinn und hat sich somit erledigt.

Danke für die schnelle Antwort.

Viele Grüße, Lars
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben