Reference to non-static method

Status
Nicht offen für weitere Antworten.

nzuri

Mitglied
hi. ich weiß, das ist ein altleidiges thema, und ich habe auch schon viel dazu gelsesn, aber ich habe es immer noch nicht verstanden, ich glaube mir vehlt da irgendein grundlegendes verständnis:

Java:
public class Main {
	
	
	public static void main (String[] args) {
	
		System.out.println(getPW());
	}
	
	private String getPW ()
        {		
		String password = "buh";
                return password; 
         }
}

warum geht das nicht? warum sagt mir eclipse: "Cannot make a static reference to the non-static method getPW() from type Main"?
ist mir n bisschen peinlich, aber kann mir das einer erklären?:rtfm:
 

Der Müde Joe

Top Contributor
static = Klasse
nicht static = auf das jeweilige Objekt/Instanz

Java:
public class StaticTest {

	// alle haben das
	static int test = 42;

	// nur die instant hat den Wert und kann verschieden sein
	private int instanceInt;

	public StaticTest(int i) {
		this.instanceInt = i;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// alle kenen statics
		System.out.println(StaticTest.test);
		
		// 2 instanzen
		StaticTest s = new StaticTest(456);
		StaticTest s1 = new StaticTest(798);
		
		// jeweils auf der instanz: nicht static
		System.out.println(s.getInstanceInt());
		System.out.println(s1.getInstanceInt());
		
		// staische Methode für alle gleich
		System.out.println(StaticTest.blub());
		
		// auch alle Instanzen haben die gelichen statics (sollte man nicht via Instanz machen)
		System.out.println(s.test);
		System.out.println(s1.test);
		System.out.println(s.blub());
		System.out.println(s1.blub());
	}

	// nur instanz kann das
	public int getInstanceInt() {
		return instanceInt;
	}

	// alle können das
	public static int blub() {
		return 741;
	}
}

Edit:
mehr kommentar
 
Zuletzt bearbeitet:

Schumi

Bekanntes Mitglied
Ist denn überhaupt klar, was der Unterschied zwischen einer Klasse und einer Instanz bzw. einem Objekt ist?
 

nzuri

Mitglied
äähm. eine klasse wird instanziert und somit zu einem objekt?
ok. vllt fange ich noch mal von vorne an...
 

Der Müde Joe

Top Contributor
>äähm. eine klasse wird instanziert und somit zu einem objekt?

Passt soweit.

Objekte haben spezifische Eigenschaften, welche sich unterscheiden können pro Instanz:
private int instanceInt;

aber auch Eigenschaften, welche für alle gleich sind:
static int test = 42;

Nun, kann man die spezifischen E für eines Objektes nur via instanz hohlen. Naja sie können ja verscheiden sein.
s hat 456
s1 hat 789

Allgemeine E (static) sind für alle gleich, darum muss man sie nicht speziell über die Instanz hohlen, sondern kann direkt daruaf zugreifen:
StaticTest.test
StaticTest.blub()

gilt sowohl für Methode als auch für Variablen. (nur nicht statics können static benutzen, umgekehr nicht)

so in kurz
 
Zuletzt bearbeitet:

nzuri

Mitglied
vielen dank!

würde also helfen, wenn ich einfach aus "private String ..." ein "private static String" machen würde?
 

Der Müde Joe

Top Contributor
>würde also helfen, wenn ich einfach aus "private String ..." ein "private static String" machen würde?

ja. (static ist aber meisten böse, va bei Anfängern)

oder, du machst eine Instanz:
Main main = new Main();
main.getPw();
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 10
L Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 6
F Mal wieder: Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 9
F Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 3
R Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 5
frau-u Altes Problem: non-static method cannot be reference Java Basics - Anfänger-Themen 7
A Cannot make a static reference to the non-static field Java Basics - Anfänger-Themen 6
K Variablen Cannot make a static reference to the non-static field time Java Basics - Anfänger-Themen 6
P Compiler-Fehler Cannot make a static reference to the non-static field process Java Basics - Anfänger-Themen 3
B Cannot make a static reference...?? Java Basics - Anfänger-Themen 5
B Mal wieder "cannot make a static reference..." Java Basics - Anfänger-Themen 2
L [Gelöst] Cannot make a static reference ... Java Basics - Anfänger-Themen 12
N Connot make a static reference. deklarierungsfehler Java Basics - Anfänger-Themen 10
T Cannot make a static reference to the non-static field Java Basics - Anfänger-Themen 8
J Java call by Value oder Reference Java Basics - Anfänger-Themen 35
R Call-by-Value, Call-by-Reference, Call-by-Name Ausgabe Java Basics - Anfänger-Themen 1
X Verständnisproblem Call-By-Reference Java Basics - Anfänger-Themen 5
U Worin besteht der Unterschied zwischen call by reference und call by value? Java Basics - Anfänger-Themen 14
H call by reference & value Java Basics - Anfänger-Themen 14
T Boolean by Reference Java Basics - Anfänger-Themen 6
T Schleifenindex "by reference" / "by value" Java Basics - Anfänger-Themen 13
O Socket by reference übergeben Java Basics - Anfänger-Themen 0
B Call by Value/Reference Java Basics - Anfänger-Themen 4
O Illegal Group Reference Java Basics - Anfänger-Themen 4
Joew0815 Methoden Objekt als Methoden-Parameter - Kein call-by-reference? Java Basics - Anfänger-Themen 12
T Array prozedur, call by reference ? Java Basics - Anfänger-Themen 6
B Variablen Wie macht man eine call by reference mit primitiven Datentypen in Java? Java Basics - Anfänger-Themen 2
C Reference - wird gegen meinen Willen - auf null gesetzt Java Basics - Anfänger-Themen 2
S call by reference? Java Basics - Anfänger-Themen 52
F Verständisproblem bzgl. nicht Vorhandensein von Call-by-reference Java Basics - Anfänger-Themen 2
B Call By reference (Null pointer exception) Java Basics - Anfänger-Themen 6
M Reference Java Basics - Anfänger-Themen 2
C Call by reference Java Basics - Anfänger-Themen 11
W call-by-reference-Effekt bei Objekten Java Basics - Anfänger-Themen 3
S "Call by Reference" Java Basics - Anfänger-Themen 12
M try-catch, call-by-reference, Streaming und Strings Java Basics - Anfänger-Themen 10
S call by reference Java Basics - Anfänger-Themen 7
C Passing Reference by Value Java Basics - Anfänger-Themen 4
G Wieso ist eine String-Übergabe keine by-reference-Zuweisung? Java Basics - Anfänger-Themen 7
F Wie kann ich call by reference umgehen? Java Basics - Anfänger-Themen 14
F Rekursive Aufrufe, Parameterübergabe, call by reference Java Basics - Anfänger-Themen 3
F Call-By-Reference umgehen Java Basics - Anfänger-Themen 4
T object reference counts Java Basics - Anfänger-Themen 14
B Call by Reference Java Basics - Anfänger-Themen 7
S call by reference vs. call by value - pls help Java Basics - Anfänger-Themen 7
O Welcher Object-Lock-Pool bei static Variablen? Java Basics - Anfänger-Themen 3
A Instance methods should not write to "static" fields Java Basics - Anfänger-Themen 4
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
M static ArrayList in non-static Java Basics - Anfänger-Themen 12
B Static vs non static und Probleme daraus Java Basics - Anfänger-Themen 13
S Methoden 2 non-static Methoden, trotzdem Fehler "non static method can not be referenced from a static context" Java Basics - Anfänger-Themen 9
R UML-Bild (Erkennung ob static o. nicht) Java Basics - Anfänger-Themen 18
R Schulaufgabe, Bruache Hilfe mit non-static Methoden Java Basics - Anfänger-Themen 2
B Static Attribute in einer Klasse, wie geht das? :O Java Basics - Anfänger-Themen 19
NaZuRe Geld(Wert) von der public static void main in die public static void Blackjack Java Basics - Anfänger-Themen 2
H Static Java Basics - Anfänger-Themen 5
K Ausgaben auf der Konsole (static Varible) Java Basics - Anfänger-Themen 9
S public static boolean Java Basics - Anfänger-Themen 4
Vamecruft Compiler-Fehler public static void zu static String ändern Java Basics - Anfänger-Themen 2
L non-static Fehler Java Basics - Anfänger-Themen 16
S Klassenmethode ohne static Java Basics - Anfänger-Themen 2
M (Sehr großes Problem) Listen als static in anderen Klassen verwendet Java Basics - Anfänger-Themen 12
J Fehlermeldung unklar. non-static variable player0 cannot be referenced from a static context Java Basics - Anfänger-Themen 4
D Methoden Scannervariablen in static Methoden Java Basics - Anfänger-Themen 5
P non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 6
V the static method should be accessed is a static way Java Basics - Anfänger-Themen 6
NormanPatrickBenner static non-static Java Basics - Anfänger-Themen 82
N Erste Schritte "non-static method" oder "XYZ can not be resolved" Java Basics - Anfänger-Themen 21
B Email versenden, muss Methode static sein? Java Basics - Anfänger-Themen 7
R static in der Methode Java Basics - Anfänger-Themen 2
E Problem mit static Methode Java Basics - Anfänger-Themen 4
H Vererbung Static Scanner Objekt verwenden - von StdIn in einer importierten Klasse lesen Java Basics - Anfänger-Themen 10
I Abstrakte Klasse - static Attribute deklarieren Java Basics - Anfänger-Themen 14
C Methoden Unterschied zwichen public int, public static int und public static void Java Basics - Anfänger-Themen 2
J Frage zu: public static void main (String[]args) Java Basics - Anfänger-Themen 1
T Datentypen enum static Chaos (blutiger anfänger) Java Basics - Anfänger-Themen 5
D Das leidige Thema static.... Java Basics - Anfänger-Themen 15
Aprendiendo Interpreter-Fehler "non-static variable this cannot be referenced from a static context" Java Basics - Anfänger-Themen 2
T Problem mit static Java Basics - Anfänger-Themen 6
T static String Variable wird nur beim ersten aufruf durch eine Funktion geändert. Java Basics - Anfänger-Themen 16
S Vererbung Zugriff auf Methode funktioniert nicht (static/non-static) Java Basics - Anfänger-Themen 3
snipesss Was kann 'static'? Java Basics - Anfänger-Themen 4
H Variablen error: non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 4
M public static int in ActionListener Java Basics - Anfänger-Themen 6
J static verschachtelte Klassen und innere Klassen Java Basics - Anfänger-Themen 1
H Nicht Static Funktion ohne Objekt aufrufen? Java Basics - Anfänger-Themen 6
E Objekte und static Java Basics - Anfänger-Themen 2
K Methoden Methoden in Methoden -> static oder nicht? Java Basics - Anfänger-Themen 7
D Erklärung static boolean Java Basics - Anfänger-Themen 6
L Was genau macht "public static void" ? Java Basics - Anfänger-Themen 12
U Erste Schritte cannot be referenced from a static context Java Basics - Anfänger-Themen 1
B ja ja schon wieder einer mit einer public static void main(string[] args) Frage... Java Basics - Anfänger-Themen 8
J Java: static bei Vererbung Java Basics - Anfänger-Themen 5
O Zu viel static im Projekt Java Basics - Anfänger-Themen 9
F Static final Klasse Java Basics - Anfänger-Themen 0
N static und Objekt kombiniert?!? Java Basics - Anfänger-Themen 3
O Wann nutzt man static? Java Basics - Anfänger-Themen 19
B Klassen Eigene "non static" Klasse in Main verwenden! Java Basics - Anfänger-Themen 12
D neue public static class variablen in array speichern? Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben