^
auto.getGeschwindigkeit
();
;O
Quote:
Originally Posted by Master674b
static bedeutet du kannst auf die Funktion oder Variable ohne ein Objekt zugreifen (entspricht einer globalen Variable). Das heißt du musst deine Klasse nicht instanziieren und es gibt diese Variable nur ein mal und nicht pro Objekt. Das Singleton Konzept ist dafür aber oft passender, falls du planst eine Klasse zu erzeugen, die nur aus statischen Methoden / Variablen besteht.
|
Nein, für zustandslose Methodensammlungen (was ja eine Klasse, die nur aus statischen Methoden oftmals ist), ist eine Singleton eher unpassend.
Wie schon gesagt wurde, static bedeutet nur, dass man auf die Methode / das Datenfeld ohne Objekt zugreifen kann. Da es in diesen Methoden keinen Objekt-Kontext gibt, kann man logischerweise aber nicht auf instanzgebundene Methoden oder Felder derselben Klasse zugreifen, weshalb alles static sein muss, womit du von so einer Methode aus interagieren willst.
Die Lösung ist, deine Variablen einfach nicht zu Membervariablen der Main-Klasse zu machen. Die Main-Klasse soll sowieso so wenig wie möglich mit der Programmlogik zu tun haben. Lokale Variablen reichen.
Im Optimalfall würde das Ganze so ablaufen:
Code:
public class Programm
{
public static int Main(String[] argv)
{
SomeLogicClass obj(42);
return someLogicClass.doYourJob();
}
}
Mit Settern und Gettern hat das Ganze wenig im am Hut.