Statische Methode kann nicht den Zugriff auf Instanz-member einer Klasse

In Liang 9. Auflage Einführung in die Programmierung mit Java heißt es, "Eine statische Methode kann keine access-Instanz die Mitglieder einer Klasse" (S. 312). Ich sehe auch, warum eine Instanz-member der Klasse zugreifen zu können, müssen Sie eine Methode (die auch statisch sein), aber warum sollte eine Methode zugreifen zu können, müssen Sie eine Instanz-Mitglied? Für mich ist der "Zugang" bedeutet "auf den Punkt-operator." In anderen Worten:

 Class myClass = new Class();
 myClass.someStaticMethod();

macht Sinn, in Erwägung nachstehender Gründe:

 someNonStaticMethod.myClass

oder

 someStaticMethod.myClass

nicht. Ist die someNonStaticMethod.myClass syntax erlaubt? Ich glaube nicht, dass ich je gesehen habe, eine solche Formatierung. Wenn es nicht erlaubt ist, warum erwähnen Sie, dass statische Methoden nicht zu den Zugriff auf Instanz-member einer Klasse?

Bitte helfen meine Verwirrung.

-DI

Es erzählt von dem code innerhalb die statische Methode, z.B. public static void someStaticMethod() { someInstanceMethod(); } ist ungültig.
Übrigens, die bevorzugte Methode zum Zugriff auf eine statische Methode ist, die mit Ihrem Beispiel Class.someStaticMethod(), nicht über eine Instanz der Klasse (also Ihre myClass.someStaticMethod();)
Hund Ist myClass.someStaticMethod() überhaupt möglich?
Ja, es ist möglich rufen Sie die statische Methode, die Art und Weise, aber es ist wirklich nur ein "feature" von Java-syntax, die es erlaubt, so zu sein. Dabei kann verwirrend sein, aber, es sieht aus wie ein Instanz - Methode aufrufen, obwohl es das nicht ist und deshalb vermieden werden sollten.

InformationsquelleAutor Digital Impermanence | 2014-12-02

Schreibe einen Kommentar