# auf public void Methode zugreifen ohne static



## Schaaaf (17. Jan 2012)

Hallo,

ich habe eine public void test () { ...} Methode.
Diese möchte ich gerne aus einer anderen Klasse heraus aufrufen. Geht das auch ohne static, weil in der Methode sind this. Befehle und die mögen static ja nicht so ("Cannot use this in a static context"), oder?!


----------



## Cola_Colin (17. Jan 2012)

Die wirst ein Objekt der Klasse anlegen und die Methode darauf aufrufen müssen, die Methode wird an dem Objekt auch offensichtlich etwas ändern, wenn this in ihr vorkommt.


----------



## pro2 (17. Jan 2012)

this kann ja nicht funktionieren, wenn die Klasse nicht instanziert ist..


----------



## Schaaaf (17. Jan 2012)

Also in der Methode sind weitere Methoden und in denen wird this aufgerufen.


----------



## hdi (17. Jan 2012)

Wie schon gesagt wurde: Um eine nicht-statische Methode in einer anderen (nicht Kind-)Klasse aufrufen zu können benötigst du eine Instanz der Klasse. Und ja, deine Methode muss nicht-static bleiben sofern du darin andere nicht-statische Methoden aufrufst oder auf nicht-statische Variablen zugreifst.


----------



## Schandro (17. Jan 2012)

> Also in der Methode sind weitere Methoden und in denen wird this aufgerufen.


Innerhalb einer Methode kann keine Methode sein, höchsten eine [anonyme] Klasse in denen Methoden sind, diese sind dann aber nicht wirklich innerhalb der äußeren Methode...


----------



## hdi (17. Jan 2012)

Er meint bestimmt dass in der Methode andere Methoden _aufgerufen _werden.

PS:


> höchsten eine [anonyme] Klasse


Lokale Klasse, um genau zu sein. Nicht jede lokale Klasse ist anonym. *klugshice*


----------



## Schaaaf (17. Jan 2012)

> Er meint bestimmt dass in der Methode andere Methoden aufgerufen werden.



Ja, meine ich.

Habe also jetzt eine Instanz der Klasse und alles läuft prima. Danke


----------



## Schandro (17. Jan 2012)

> Lokale Klasse, um genau zu sein. Nicht jede lokale Klasse ist anonym. *klugshice*


Deswegen ist anonym auch in []  *backshice* :bae:


----------



## hdi (17. Jan 2012)

> Deswegen ist anonym auch in [] *backshice*


Wenn die [] aber nur optional zu lesen sind, dann wäre die Aussagen wieder zu allgemein um richtig zu sein, da gewöhnliche Klassen ja nicht in Methoden definiert werden können. *ultra-re-shice²*


----------



## Schandro (17. Jan 2012)

hdi hat gesagt.:


> Wenn die [] aber nur optional zu lesen sind, dann wäre die Aussagen wieder zu allgemein um richtig zu sein, da gewöhnliche Klassen ja nicht in Methoden definiert werden können. *ultra-re-shice²*


Woran merkt man das man für heute zuviel gecodet hat und lieber schlafen gehen sollte? Man versucht ein Gegenargument zu diesen Zitat zu finden indem man über das Wort Klasse als Vaterklasse für anonyme Klasse und gewöhnliche Klasse nachdenkt, über die Inkonsistenzen zwischen Java und Deutsch und darüber das der Anfangsteil des Originalsatzes indirekt das Attribut lokal in die Benutzung von Klasse injiziert hat. Danach googelt man nach 
	
	
	
	





```
zu allgemein um richtig zu sein
```
 und findet als 4. Treffer genau diesen Thread hier und denkt sich "oh man" und geht ins Bett. gn8


----------



## hdi (18. Jan 2012)




----------

