Java DOT运算符的目的是什么



有人能告诉我Java DOT运算符实际上做了什么吗?

例如:

public class {
    int value;
    public void great() {};
    ... 
}
public static void main(String[] args) {
    Person p = new Person();
    Person.great(); // <--- here
    Person.value; // <--- here

我想知道当我执行Person.great()Person.value.运算符在上面的代码中做什么?

点运算符,也称为分隔符或句点,用于将变量或方法与引用变量分开。

只能使用类名访问静态变量或方法。

对象

类之外的代码必须使用对象引用或表达式,后跟点 (.) 运算符,后跟简单的字段名称,如

objectReference.fieldName

我们使用对象引用来调用对象的方法。将方法的简单名称追加到对象引用中,并使用中间的点运算符 (.) 如

objectReference.methodName(argumentList);

在上面提到的代码中,p.great() 可用于在对象 p 上调用方法 great(),p.value 用于访问实例变量

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

The Complete Reference,赫伯特·希尔特(Herbert Schildt)的书

.不是

运算符。因此,它"不做"任何事情。

它只是一个语法元素,表示在这种情况下,保存对象的变量名和对象的属性的分离。相同的字符用于分隔包名称和类。

简单地说,点运算符充当对象和类的访问提供程序。上述运算符的用法如下。

它将函数和变量与实例变量分开。它允许从包访问子包和类。它导致访问类或包的成员。

public class DotOperatorExample1 {
        
void display() { 
        double d = 67.54;    
        int i = (int)d;  
        System.out.println(i);  
    }  
public static void main(String args[]) {  
        DotOperatorExample1 doe = new DotOperatorExample1();   
        doe.display();
    }  
}  

最新更新