title image


Smiley Re: toString aus einer anderen Class aufrufen
Also, erst mal etwas zur Klärung des Begriffes "static".



Static wird immer global, und somit allgemein verwendet. Das bedeutet aber auch, das statische Methoden (static xyz()) keinen Zugriff auf Elemente erlangen können die nicht static sind und auch nicht als Parameter übergeben werden.



Allerdings kannst du sehr wohl die toString() Methode eines anderen Objektes aufrufen. Nur halt nicht über eine statische Methode in der Form:



MenuItem menuItemVariable;



public static void doToString(){

menuItemVariable.toString();

}



In diesem Fall könnten mehrere Kopien der Variable existieren, aber der statische Kontext der Methode kommt damit nicht klar, denn er kann nicht zwischen den Variablen unterscheiden.



MenuItem variable;



public void doToString(){

variable.toString();

}



Diese Variante ist möglich, da die Methode schließlich auch nicht global vorliegt, sondern zu einem Objekt gehört. Damit ist die Variable eindeutig definiert und kann verwendet werden.



public static void doToString(MenuItem variable){

variable.toString();

}



Diese Variante funktioniert ebenfalls, denn hier wird eindeutig die Variable (das Objekt) übergeben, von welchem dann auch die Methode aufgerufen wird.



public static MenuItem variable;



public static void doToString(){

variable.toString();

}



Auch diese Variante ist möglich, allerdings gibt es dann auch nur ein Objekt vom Typ MenuItem auf das diese Variante zugreifen kann. Sie ist somit nur für Konstanten zu gebrauchen.



Ich hoffe das ich ein klein wenig Licht ins dunkle bringen konnte. Aber es wird dir trotzdem noch schwer fallen, zumal man eine Weile braucht um sich an die richtige Denkweise zu gewöhnen und später wird man sich wundern wie dumm man sich angestellt hat. (Ich war auch mal dort und hatte einfach keinen richtigen Überblick)..
Tobain
"Für verlorene Gelegenheiten in der Politik gibt es kein Fundbüro."
Get Firefox!


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: