有人能告诉我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();
}
}