2016-06-05 14 views
-4

Kann mir jemand sagen, was Java DOT-Operator tatsächlich tun?Java DOT-Operator, Was es tatsächlich tut

Zum Beispiel

class Person{ 

int value; 
public void great(){...}; 
... 
} 

Person p = new Person(); 

Person.great(); <--- here 

Person.value; <--- here 

ich wissen will, was "" Der Operator tut so, dass er mich großartig() oder wertvoll machen kann.

Dank

Antwort

3

. ist kein Operator. Daher "tut" es nichts.

Es ist nur ein syntaktisches Element, das die Trennung von in diesem Fall einen Variablennamen angibt, der ein Objekt und die Eigenschaft des Objekts enthält. Dasselbe Zeichen wird verwendet, um Paketnamen und Klassen zu trennen.

+0

Dies ist nicht die Antwort, die ich suche. Können Sie Ihren zweiten Absatz näher erläutern? Vielen Dank. – user2443943

+1

Es ist aber die richtige Antwort - wenn Sie nicht danach suchen, formulieren Sie vielleicht Ihre Frage um. Es gibt nicht viel mehr zu sagen "." - Es hat nicht viel mehr Funktionalität als ein "." Auf Englisch hat. Im Englischen trennt "." Zwei Sätze. In Java trennt es den Variablennamen und den Eigenschaftsnamen. Es teilt dem Tokenizer (einem Teil des Compilers) mit, dass die Variablennamen dort enden, und das nächste Zeichen ist der Anfang eines Eigenschaftsnamens. Das ist es. –

+1

Wenn Sie wirklich wissen wollen, wie der Compiler funktioniert oder wie das Objekt im Speicher gespeichert wird, damit die Eigenschaften abgerufen werden können oder welche Befehle in den Code-Code eingehen - das ist eine ganz andere Geschichte, eine ganz andere Frage und viel zu komplex, um auf SO leicht beantwortet zu werden. Ich empfehle in diesem Fall, Bücher über die Java-Engine zu lesen. –

0

Der Punktoperator, auch bekannt als Separator oder Periode, um eine Variable oder Methode von einer Referenzvariablen zu trennen.

Nur statische Variablen oder Methoden können über den Klassennamen aufgerufen werden.

Code, der außerhalb des Objekts Klasse muss einen Objektverweis oder Ausdruck verwenden, gefolgt von dem Punkt (.) Operator, gefolgt von einem einfachen Feldnamen wie in

objectReference.fieldName 

Wir verwenden den Objektverweis aufrufen die Methode eines Objekts. Append den einfachen Namen des Verfahrens auf die Objektreferenz, mit einem dazwischen liegenden Punkt-Operator (.) Wie in

objectReference.methodName(argumentList); 

In dem oben erwähnten Code, p.great() kann verwendet werden, um die Methode aufzurufen große() auf Objekt p und p.value verwendet wird, um die Instanzvariable val zugreifen Ue.

Ref: https://docs.oracle.com/javase/tutorial/java/javaOO/usingobject.html

Die komplette Referenz, Buch von Herbert Schildt