# Zugriff auf Methoden in der Eltern Klasse



## Guest (23. Jun 2007)

Hallo,

ich habe folgendes Problem. Ich habe ein Klasse Vater, die eine Instanz der klasse Kind anlegt. Nun möchte ich in der Klasse Kind eine Methode der Klasse Vater verwenden. Wichtig ist das ich keien Instanz der Klasse vater anlegen kann da ich auf die Daten der Klasse vater zugreifen möchte

beispiel:



```
class Vater {
...

     Kind kind = new Kind(); 
     kind.towas();
...

public int RufeausKind() {...}

}


class Kind() {
...

 public int tuwas() {
    //rufe methode aus Vater ohne neue Instanz anzulegen ??????
    vater().RufeausKind(); 
  }

}
```


Wie kann so etwas in Java umsetzen ?

Gruß Bernd


----------



## Jango (23. Jun 2007)

Dein Code da oben ist Schwachsinn. Wenn du auf Methoden der Basisklasse zugreifen willst, ohne ein Objekt der selbigen zu machen, musst du die Methoden der Basisklasse _static_ deklarieren. Dann kannst du mit Angabe der Klasse darauf zugreifen:


```
Vater.RufeausKind();
```

Edit: Soweit ich deinen Text richtig verstanden habe.


----------



## Beni (23. Jun 2007)

Übergib den Kind doch eine Referenz auf den Vater.


```
public class Kind{
  private Vater vater;
  public Kind( Vater vater ){
    this.vater = vater;
  }
}
```

Und in Vater:

```
Kind kind = new Kind( this );
```


----------



## Gast (25. Jun 2007)

Vorweg: ich bin ein anderer Gast, nicht der der die Frage gestellt hat.

Ich glaubt "Gast" setzt sich grade mit Vererbung auseinander und will, dass ein Objekt der erbenden Klassen ("kinderklasse") eine Methode der Stammklasse ausführen kann.

Dazu müsste die Klasse Kind im oberen Beispiel erstmal von Vater erben; also class Kind() extends Vater {...}

Ein Objekt der Klasse Kind (z.b. erzeugt durch Kind tom = new Kind() ) hat dann automatisch die Methode RufeausKind().

Wenn du die Methode der Stammklasse in einer Methode der "Kinderklasse" brauchst, geht das mit super.RufeausKind().

MfG


----------

