Wer gerade erst mit Java -Entwicklung ist wahrscheinlich begegnen "Kann nicht machen einen statischen Verweis auf eine nicht statische Methode " Fehler. Dies ist ein häufiges Problem, vor allem in Fällen, in denen ein Java -Projekt enthält Verfahren Erklärungen in seinem Haupt- Klasse , oder ist das Aufrufen von Methoden , die nicht statisch sind , aus statischen Methoden . Das Verständnis der Ursachen und Lösungen für das Problem ist ein zentrales Element in das Lernen , wie man Java-Projekte zu bauen. Verursacht
Wenn ein Java-Programm versucht, eine Methode, die nicht statisch ist, von einer Methode, die statisch ist anrufen, wird der Compiler oder IDE (Integrated Development Environment) einen Fehler. Programmierer in den frühen Phasen des Lernens Java-Entwicklung am ehesten dieser Fehler auftritt , weil sie noch nicht vertraut sein können mit den Konzepten in der objektorientierten Entwicklung durch die Programmiersprache Java beteiligt. Eine typische Situation, in der der Fehler eher auftreten , wenn ein Programm die wichtigsten Verfahren versucht, ein weiteres Verfahren in der gleichen Klasse definiert nennen, aber das hat sich nicht als statische Methode deklariert.
Lösungen
Die Lösung der Probleme fordern nicht-statische Methoden aus statischen Methoden wirklich braucht, um in einer Weise, dass die Anwendung passt angefahren werden. Machen Sie das Verfahren , indem die statische " static" Schlüsselwort der Methode Umriss kann der Compiler beschweren zu stoppen und damit ein Programm zu laufen. Allerdings kann das Auftreten des Fehlers anzuzeigen, dass die Methode besser konnte , indem es in einer Klassendeklaration behandelt werden , nannte es , indem zunächst ein Objekt der Klasse.
Klassen
Wenn Java-Entwickler Design-Anwendungen , sie teilen die verschiedenen Bearbeitungsaufgaben zwischen einer Menge von Objekten benötigt. Diese Objekte weisen jeweils eine wohldefinierte Gruppe von Eigenschaften und Verhaltensweisen , wie sie in ihrer Klasse Erklärungen skizziert. Entwickler können daher entwerfen Objekttypen durchzuführen Anwendung Aufgaben Formalisierung dieser Entwürfe durch Schreiben Klassendeklarationen , innerhalb dessen Variablen und Methoden werden skizziert.
Object Instanzen
Sobald ein Anwendung-Projekt hat ein oder mehrere Klassendeklarationen darin enthalten , kann der Code innerhalb der Anwendung zu erstellen Objekt-Instanzen . Ein Objekt ist eine dedizierte Instanz Codeelementes mit den Variablen und Methoden in der entsprechenden Klasse Erklärung skizziert. Zum Beispiel das Vorhandensein einer Klassendeklaration als " Helfer " in einem Java-Projekt unter dem Code innerhalb des Projekts , zum Beispiel in der Main-Methode kann ein Objekt Instanz der Klasse mit dem folgenden Beispiel Syntax :
< p > Helper myHelper = new Helper ();
Wenn innerhalb der " Helper "-Klasse Erklärung , gibt es eine öffentliche Methode namens " doSomething ", der Code kann diese Methode auf dem Objekt-Instanz wie folgt aufrufen :
myHelper.doSomething ();
statische Methoden
die häufigste Situation, in der die statischen Verweis Fehler auftritt , wenn ein Programm versucht, Methoden aus aufrufen die wichtigste Methode eines Projektes. Die wichtigste Methode ist in der Regel statisch, so -Code in ihr nicht aufrufen kann statische Methoden . Wenn ein Programmierer erstellt eine Methodendeklaration in der gleichen Klasse wie die main-Methode , wird der Fehler auftreten , wenn die Methode als statisch definiert ist. Die Entscheidung, welche Objekte durchführen gut definierte Sets von Aktivitäten zu schaffen Anwendung ermöglicht es Programmierern, effektiver verteilt die Elemente innerhalb einer Anwendung als Ganzes.