2016-05-09 14 views
0

Der Empfang einer nicht statischen Methode kann nicht aus dem statischen Kontext referenziert werden. In diesem Beispiel habe ich alle zusätzlichen "Zeug" gelöscht. Alle anderen Beispiele, die ich fand, hatten viele Distraktoren, die mich verwirrten. Dies ist für das Studium für ein Finale und ist nicht Teil einer Aufgabe.nicht statische Methode kann nicht verwechselt werden

Ich verstehe nicht, warum gibt es ein Problem hier - Probleme zu verstehen, statische/nicht-statische Problem insgesamt.

In diesem Fall ist alles, was ich erwarte, dass 5207 die Ausgabe sein wird.

package testcase; 

public class Testcase { 

int number = 5207; 
public static void main(String[] args) { 
    //int number = 5207; 
    int div; 
    div = divisor(number); 
    System.out.println(div); 
} 

private int divisor(int num){ 

    return number; 
} 

Antwort

0

versuchen, eine static Methode wie folgt zu werden:

private static int divisor(int num){ 
    return number; 
    } 

Oder Beispiel das Objekt der Klasse Testcase:

Testcase tsc = new Testcase(); 
div = tsc.divisor(number); 
+0

Die erste wird nicht funktionieren, da Nummer ist eine nicht statische Variable. – user

+0

zweiter Fall funktioniert! – theninja

Verwandte Themen