Static reference to non-static field

Status
Nicht offen für weitere Antworten.

Achtel

Mitglied
Hallo, ich habe ein Problem mit static/non-static, welches ich mir nicht erklären kann... Folgender relevanter Code:

Code:
 public static void main(String args[])
  {
    Document d = new Document();
	TickFrame tf = new TickFrame(d);
	tf.setVisible(true);
	d.showCounter(status_panel);
  }

Code:
public void showCounter(JPanel status)
	{
	  System.out.println("showCounter");
	}

Für diesen bekomm ich dann diese Fehlermeldung:
Cannot make a static reference to the non-static field status_panel

Was ich nicht verstehe - ich erzeuge mit "Document d = new Document()" eine neue Instanz der Klasse Document und will diese dann verwenden, um die Methode showCounter aufzurufen, die auch nicht static ist... wo sitzt also die "static reference"? Und vor allem, wie lös ich das Problem?

Danke & Gruß
Kirsten.
 

Bleiglanz

Gesperrter Benutzer
es geht um das Argument

d.showCounter(status_panel);

offensichtlich ist status_panel eine Membervariable, kann also nicht im static kontext verwendet werden
 

Achtel

Mitglied
status_panel ist ne Instanz von JPanel... aber wo ist denn ein static Kontext? d ist ne Instanz, die Methode ist non-static und status_panel auch...?!
 

byte

Top Contributor
wenn status_panel ne instanzvariable ist, dann musst du sie auch wie eine solche aufrufen. also z.b. so:

d.showCounter(instance.status_panel);

bzw. mit getter.
 

Oni

Top Contributor
aber du verwendest es doch in einer static methode

Code:
JPanel status_panel = new JPanel(); // vermute ich mal... 


 public static void main(String args[])
  {
    Document d = new Document();
   TickFrame tf = new TickFrame(d);
   tf.setVisible(true);
   d.showCounter(status_panel); // <-- hier greifst du doch darauf zu. und das geht nicht
  }
 

Bleiglanz

Gesperrter Benutzer
Code:
public static void main(String args[])
  {
  Document d = new Document();
  TickFrame tf = new TickFrame(d);
   // ab dieser Stelle kannst du genau zwei Variablen verwenden
   // nämlich d und tf
   // andere sind nicht bekannt??

   // möglich wäre etwa d.status_panel
   // oder tf.status_panel
   // wenns die denn gäbe

   tf.setVisible(true);
   d.showCounter(status_panel); // was soll status_panel sein
  }
 

byte

Top Contributor
oni das ist nicht richtig. die main ist zwar static, aber das bedeutet nicht, dass man dort nur static methoden aufrufen darf. ;)

@achtel: s.o.
 

Achtel

Mitglied
Oni hat gesagt.:
aber du verwendest es doch in einer static methode

Code:
JPanel status_panel = new JPanel(); // vermute ich mal... 


 public static void main(String args[])
  {
    Document d = new Document();
   TickFrame tf = new TickFrame(d);
   tf.setVisible(true);
   d.showCounter(status_panel); // <-- hier greifst du doch darauf zu. und das geht nicht
  }

Stimmt ja - wie dumm... :oops: Danke fürs "Augen öffnen"... :)
 

Oni

Top Contributor
byto hat gesagt.:
oni das ist nicht richtig. die main ist zwar static, aber das bedeutet nicht, dass man dort nur static methoden aufrufen darf. ;)

das wollte ich auch garnicht damit sagen. ich wollte nur erklären, wo die fehlermeldung her kommt. und das hat doch funktioniert ;-)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kirby.exe Cannot make a static reference to the non-static field rimWidth Allgemeine Java-Themen 12
W Threads Cannot make a static reference.. Allgemeine Java-Themen 13
S Cannot make a static reference to the non-static field MySecondClass.Points Allgemeine Java-Themen 3
conan2 "Cannot make a static reference to the non-static field Allgemeine Java-Themen 8
E Methoden abstract static Methode Allgemeine Java-Themen 8
N nicht static und auch nicht new Allgemeine Java-Themen 3
P static Blocks und variablen Allgemeine Java-Themen 41
Thallius Ist meine static Helper Class Thread save? Allgemeine Java-Themen 9
S static in Interface und Klasse Allgemeine Java-Themen 2
S static methode im Interface Allgemeine Java-Themen 1
A Variablen non-static variable cannot be referenced from a static content Allgemeine Java-Themen 4
P Static Variable -> unterschiedliche Werte? Allgemeine Java-Themen 1
K Static Variablen verbieten Allgemeine Java-Themen 10
C Generic collections und static typing Allgemeine Java-Themen 4
M Warum nicht static ? Allgemeine Java-Themen 10
M Eine static-Methode verlassen Allgemeine Java-Themen 2
B Schlüsselworte [ERLEDIGT] static { } - Was ist das und wofür kann ich das brauchen? Allgemeine Java-Themen 1
J private static final String variable Allgemeine Java-Themen 8
L Non-static-Variables in Enumerationen Allgemeine Java-Themen 2
L OOP Klassen-Design (static oder nicht?) Allgemeine Java-Themen 3
T Enumeration/Static Final/Bitfield Allgemeine Java-Themen 6
T Static kann nicht verändert werden Allgemeine Java-Themen 3
H Programierstil: static - Zugriff vs. Staticzugriff Allgemeine Java-Themen 24
N Static oder andere Lösung Allgemeine Java-Themen 5
N Vererbung Static & private fields - Nicht ganz einfach? Allgemeine Java-Themen 4
M Wo hin mit static factory methods? Allgemeine Java-Themen 40
M Public Static importRunning -> Bad Design oder ok ? Allgemeine Java-Themen 5
M Methoden Static Methoden und Thread??? Allgemeine Java-Themen 4
S auf public void Methode zugreifen ohne static Allgemeine Java-Themen 11
K Static - Problem Allgemeine Java-Themen 10
M Variablen Variablenzugriff aus static void Allgemeine Java-Themen 21
D API - Beispiel + static member in inner (non static) class Allgemeine Java-Themen 2
S static methoden Allgemeine Java-Themen 9
S Performance Frage: Objekt oder static? Allgemeine Java-Themen 33
X HTTP Problem mit static/non static JTextArea Update Allgemeine Java-Themen 17
A Annotation einer Subklasse im static-Block auslesen. Allgemeine Java-Themen 6
woezelmann referenz der outer class aus static nested class heraus Allgemeine Java-Themen 7
B static Variable / Unterklasse Allgemeine Java-Themen 2
I Was macht static { ... } ? Allgemeine Java-Themen 8
G static inner Klassen Allgemeine Java-Themen 7
G static und dynamic linking? Allgemeine Java-Themen 32
J in einer static Variable Wert ändern Allgemeine Java-Themen 6
J Verständnisfrage - nested static classes Allgemeine Java-Themen 11
G static- Methoden überschreiben Allgemeine Java-Themen 10
E Geschwindigkeit static Allgemeine Java-Themen 6
V Static oder wie? Allgemeine Java-Themen 61
I reflection get inner static classes Allgemeine Java-Themen 2
L static main - Spezifikation? Allgemeine Java-Themen 7
G URLClassLoader stößt static Block nicht an Allgemeine Java-Themen 8
D static Allgemeine Java-Themen 46
P static-Methode aus dem Konstruktor aufrufen Allgemeine Java-Themen 6
oliver1974 "(.) should be accessed in a static way" Falsche W Allgemeine Java-Themen 6
P static Klassenvariable Allgemeine Java-Themen 15
B JPasswordField klassenübergreifend auslesen->static Probl Allgemeine Java-Themen 4
F Methoden: static vs. instance Allgemeine Java-Themen 24
MQue static Methoden/Klassen Allgemeine Java-Themen 7
K Warum static-Methoden nutzen Allgemeine Java-Themen 26
G Java-Befehle Native und Static Allgemeine Java-Themen 2
conan2 static-Block in Klassen Allgemeine Java-Themen 6
M JNI, static.a mit load.Library laden? Allgemeine Java-Themen 2
K Static Members von Superklasse für JEDEN Erben Allgemeine Java-Themen 6
padde479 The static method sleep(long) from the type Thread should. Allgemeine Java-Themen 2
M static-Methode vorschreiben Allgemeine Java-Themen 5
S singleton vs. static Allgemeine Java-Themen 7
G Object mit static Feldern speichern Allgemeine Java-Themen 9
J Warum heißt es eig. "public static void main" ? Allgemeine Java-Themen 4
P Singleton vs static Allgemeine Java-Themen 19
J parameterized und static fields Allgemeine Java-Themen 4
S static umgehen Allgemeine Java-Themen 5
G static oder nicht Allgemeine Java-Themen 4
J Problem mit static/non-static Allgemeine Java-Themen 2
G getAppletContext() in static Methode Allgemeine Java-Themen 3
m@nu Programm-Models in Static-Objekten speichern Allgemeine Java-Themen 5
J Nicht-static variable in static variable kopieren - wie? Allgemeine Java-Themen 14
O does not declare a static final serialVersionUID field of . Allgemeine Java-Themen 6
G static vor einem array Allgemeine Java-Themen 2
K Überschreiben von 'static'-Methoden hat anderes Verhalten? Allgemeine Java-Themen 2
A JSP & static-Variablen Allgemeine Java-Themen 3
B Static Import: Syntaxfrage Allgemeine Java-Themen 2
S Static + Speicher + Bytecode etc. Brauche HILFE :/ Allgemeine Java-Themen 11
Z auf static Methode aus anderen Package zugreifen? Allgemeine Java-Themen 7
N this im public static void Allgemeine Java-Themen 3
C Communication zwischen zwei Projekte - static objects Allgemeine Java-Themen 4
S static mit abstract und in interface Allgemeine Java-Themen 10
R Erste Schritte Object reference funktioniert nicht. Wie mach ichs richtig? Allgemeine Java-Themen 3
M Lambda "invalid method reference no suitable method found" Allgemeine Java-Themen 2
M Java - Call by value <-> Call by reference Allgemeine Java-Themen 16
Kr0e Circular reference - Serialisierung Allgemeine Java-Themen 6
E wie call by reference mit Wrapper-Klassen? Allgemeine Java-Themen 2
Schandro Warum illegal forward reference bei Exemplarinitialisierer Allgemeine Java-Themen 9
F Pointer oder Reference? Allgemeine Java-Themen 8
G Reference-Counter Allgemeine Java-Themen 3
B Array von Vektoren by reference übergeben Allgemeine Java-Themen 5
sliwalker Call by Reference - Was stimmt denn nun ? Allgemeine Java-Themen 14
H Aus der FAQ: Call by Value <-> Call by Reference Allgemeine Java-Themen 8
O Pointer/reference on method Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben