Java Variable außerhalb von der main deklaireren und dann in der nicen Main aufrufen?
wieso funktioniert das:
und das Aber nicht:
3 Antworten
//EDIT: Super, Frage falsch gelesen. x)
Die Main Methode ist statisch. Das heißt, dass du kein Objekt der Klasse brauchst, um es zu verwenden. Wenn etwas nicht statisch ist, ist die Variable an jedem Objekt gebunden.
Da du hier in einer statischen Methode auf die nicht statische Variable zugreifen willst, geht das nicht. Dazu würdest du ein Objekt von Program benötigen.
static sorgt dafür, dass die Variable salopp gesprochen am Bauplan gespeichert wird und nicht am konkreten Objekt.
static vor main bedeutet, dass die Methode ohne Instanziierung aufgerufen werden kann.
die main ist eine klasse
eine klasse in oop ist ein bauplan für objekte
static fields bedeuten, dass die variable nicht zu einem objekt gehört (sondern zu einer klasse)
das untere würde funktionieren wenn du ein objekt von der Main-klasse erzeugst und auf dessen i-field zugreifst