Konstruktor vererben

Status
Nicht offen für weitere Antworten.

Sanix

Top Contributor
Bei Unterklassen wird ja der Konstruktor der Oberklasse automatisch vererbt. Bei diesem Beispiel, sag Eclipse, dass der Konstruktor der Oberklasse nicht definiert ist:
Code:
package klassen;

public class Lebewesen 
{
	protected String name;			//Name
	protected int hp;				//Life Points
	protected int attack;			//Attack Damage
	protected int defense;			//Denfense 	
	protected boolean status = true;//Living?
	
	Lebewesen(String name, int iHp, int iAttack, int iDefense){
		this.name = name;
		hp = iHp;
		attack = iAttack;
		defense = iDefense;
	}
}

package klassen;

public class Tier extends Lebewesen
{	

}
 

Bleiglanz

Gesperrter Benutzer
du musst mindestens einen bei Tier reinschreiben

=> Lebewesen hat einen Konstruktor mit Argumenten, dadurch wird der sog. Default Konstruktor (ohne Argumente) NICHT automatisch erzeugt

also kann man die Unterklasse nicht mit einem Default-Konstruktor erzeugen...

du MUSST in Tier mindestens EINEN Konstruktor definieren, dieser MUSS dann den von Lebewesen mit super aufrufen...
 

Sanix

Top Contributor
achso
Mit super kriege ich alle Methoden ausser, dem Konstrukor. Oder muss ich hier die Argumente erneut angeben?

btw.: Sorry ich habe meine Beiträge aus versehen nichts ins Anfängerforum geschrieben, kannst du sie verschieben?
 
K

klom

Gast
entweder in Tier mit super (ruft den Konstruktor von Lebewesen auf)
und entsprechend den Argumenten von Lebewesen

oder

du machst in Lebewesen noch einen zusätzlichen Konstruktor ohne
Argumente

also einfach

public Lebewesen() {}

beispielsweise und dann geht das auch so wie du es bisher vor hattest
 

Snape

Bekanntes Mitglied
Um es einfach zu machen:
Du musst in der Unterklasse alle Konstruktoren der Oberklasse implementieren.
 

Sanix

Top Contributor
wenns ichs mit public Lebewesen mache, kann ich folgenden Code nicht ausführen:
Code:
Tier irgendwas = new Tier("23dfa2", 21, 2, 2);

Weil ich jetzt den Konstruktor ohne Argumente habe. Aber in meinem Tutorial habe ich super nur für Konstruktoren ohne Argumente oder für Methoden. Wie kann ich die Argumente "holen"?

Dann gerade noch eine andere Frage:
Wenn Lebenwesen die Methode hit hat, an die ein Objekt des Typs Lebewesen oder Tier übergeben werden muss. Muss ich dann die Funktion überladen oder kann ich einfach Lebewesen nehmen und es Funktioniert denoch, weil das ganze vererbt ist?

/edit

Snape hat gesagt.:
Um es einfach zu machen:
Du musst in der Unterklasse alle Konstruktoren der Oberklasse implementieren.
Wenn ich oben schon den ganzen Konstruktor habe, sollte es doch möglich sein, den vererben zu lassen oder?
 
K

klom

Gast
*/ sollte mal ins Anfängerforum

haben wir dir schon gesagt was du machen musst:

Konstruktor in Tier:

public Tier(String name, int iHp, int iAttack, int iDefense)
{
super Lebewesen(name, iHp, iAttack, iDefense)
}
}

und dann wirds gehen ...
 
K

klom

Gast
Für die zweite Frage:

es reicht aus hit(Lebewesen lw) in Lebewesen zu implementieren,
weil das vererbt wird gibts das dann auch in Tier und darüber hinaus
ist Tier von Lebewesen abgeleitet.

Du könntest also durchaus sowas machen:

irgendwas.hit(irgendwas);
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S konstruktor vererben Allgemeine Java-Themen 5
B Parameter Konstruktor plus rechnen Allgemeine Java-Themen 6
M Konstruktor einer Methode Allgemeine Java-Themen 35
M Frage zum Konstruktor Allgemeine Java-Themen 2
B Klassen Objekt erzeugen und Konstruktor aufrufen - Welche Lösung ist besser? Allgemeine Java-Themen 2
D Konstruktor - jedes Objekt einzeln erzeugen - alternative? Allgemeine Java-Themen 8
J Konstruktor in JSP beim Kompilieren nicht gefunden Allgemeine Java-Themen 3
J Inner class + Leer-Konstruktor Allgemeine Java-Themen 1
P Threads Objekt im Konstruktor anders wie im Run()-Block Allgemeine Java-Themen 10
H Beim Konstruktor "this" Allgemeine Java-Themen 4
K Variablen Konstruktor, unendlich viele Allgemeine Java-Themen 3
T Konstruktor löst exception aus Allgemeine Java-Themen 7
C Klassen und Konstruktor Allgemeine Java-Themen 2
W Threads NullPointer: Konstruktor "zu langsam"? Allgemeine Java-Themen 3
L Klassen Konstruktor soll Objekt anderer Klasse erzeugen Allgemeine Java-Themen 2
M Klassen Klasse Dynamisch laden und Konstruktor aufrufen Allgemeine Java-Themen 1
DStrohma In abstrakter Klasse Konstruktor von Instanz implementieren Allgemeine Java-Themen 11
C Reflektions, Benutzer soll Konstruktor auswählen und Parameter übergeben können Allgemeine Java-Themen 5
S OOP this-Referenz als Konstruktor-Übergabe Allgemeine Java-Themen 8
ruutaiokwu NullPointerException auf member, die per konstruktor gesetzt wird (multithread-kontext) Allgemeine Java-Themen 2
ruutaiokwu auf priv. konstruktor von "aussen" zugreifen? Allgemeine Java-Themen 4
A Methoden laufen im Konstruktor, außerhalb allerdings nicht Allgemeine Java-Themen 2
E Array im Konstruktor übergeben Allgemeine Java-Themen 3
A Reflection Konstruktor Parameter Supertyp Allgemeine Java-Themen 2
X Dynamisch Konstruktor aufrufen Allgemeine Java-Themen 12
J abstrakte Klassen, Konstanten und Konstruktor Allgemeine Java-Themen 9
E Finale Attribute und Konstruktor Allgemeine Java-Themen 3
S Konstruktor ermitteln Allgemeine Java-Themen 3
B Konstruktor wird nicht aufgerufen Allgemeine Java-Themen 4
T class.newinstance + try/catch-konstruktor Allgemeine Java-Themen 6
S Neue Instanz eines Objekts erzeugen - Konstruktor erhaelt Parameter. Allgemeine Java-Themen 5
B Konstruktor - Vererbungsproblem Allgemeine Java-Themen 2
B Problem mit Methodenaufruf in Konstruktor Allgemeine Java-Themen 6
D [SOLVED] Collection wird nicht richtig per Konstruktor übernommen Allgemeine Java-Themen 8
S Instanz in einer Klasse erstellen, und dem Konstruktor die eigene Klasse mitgeben Allgemeine Java-Themen 4
M Konstruktor / statischer Block Allgemeine Java-Themen 13
Ark Konstruktor per Reflection nicht bekannt Allgemeine Java-Themen 4
J Klasse auf Konstruktor oder Methode testen? Allgemeine Java-Themen 3
Junktyz Konstruktor Allgemeine Java-Themen 9
T Schleife im Konstruktor? Allgemeine Java-Themen 9
conan2 super-super-Konstruktor? Allgemeine Java-Themen 3
P static-Methode aus dem Konstruktor aufrufen Allgemeine Java-Themen 6
F Werte von Member-Variablen erst im Konstruktor setzen? Allgemeine Java-Themen 7
MQue zaehlen im Konstruktor Allgemeine Java-Themen 3
V Initialisierung nur im Konstruktor? Allgemeine Java-Themen 14
J Konstruktor-Aufruf nur aus einem bestimmten Package erlauben Allgemeine Java-Themen 5
T Konstruktor von Hashtable unter Java 5.0! Allgemeine Java-Themen 3
M Feld initialisieren, direkt oder Konstruktor Allgemeine Java-Themen 2
D super-Konstruktor ist nicht super ;) Allgemeine Java-Themen 6
A Objektmethode aus Konstruktor aufrufen? Allgemeine Java-Themen 14
7 Konstruktor Allgemeine Java-Themen 12
M Konstruktor, der Excpetions wirft Allgemeine Java-Themen 2
H Super-Konstruktor Allgemeine Java-Themen 7
A Exception in Konstruktor - trotzdem wird Objekt erzeugt! Allgemeine Java-Themen 3
thE_29 String Konstruktor - Umwandlungsprobleme Allgemeine Java-Themen 5
J Probleme mit dem Konstruktor Allgemeine Java-Themen 8
G Konstruktor-Aufruf nun mit oder ohne Typ? Allgemeine Java-Themen 9
D Kein public Konstruktor Allgemeine Java-Themen 4
K Exception im Konstruktor / Objekt == null Allgemeine Java-Themen 7
S konstruktor nur innerhalb der klasse aufrufbar Allgemeine Java-Themen 5
S konstruktor im interface Allgemeine Java-Themen 5
S "Vererben" statischer Felder/Methoden Allgemeine Java-Themen 4
Rudolf JUnit4-Testklasse erweitern ohne zu vererben Allgemeine Java-Themen 6
K Singleton vererben Allgemeine Java-Themen 15
E Singleton vererben Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben