在Java中,我可以使用.以下示例中的main方法的第二行中看到的类的公共成员(为了这个示例,忽略我对封装的不良使用).
public class Test {
public static void main(String[] args) {
Position p = new Position(0,0);
int a = p.x; // example of member access
}
}
class Position {
public int x;
public int y;
public Position(int x, int y) {
this.x = x;
this.y = y;
}
}
Run Code Online (Sandbox Code Playgroud)
在.考虑Java编程语言中的操作,就如同*,~和!=被认为是运营商?
编辑 - 扩展上面的示例:
正如已经指出的那样,似乎Java语言规范认为.是分隔符而不是运算符.然而,我想指出的是,.展示一些似乎更像是操作者的行为.考虑上面的示例扩展到以下内容:
public class Test {
public static void main(String[] args) {
Position p = new Position(0,0);
int a = p . x; // a -> 0
int x = 1;
int b = p . x + x; // b -> 1
}
}
class Position {
public int x;
public int y;
public Position(int x, int y) {
this.x = x;
this.y = y;
}
}
Run Code Online (Sandbox Code Playgroud)
很明显,正在强制执行某些优先级,以便在添加之前评估成员访问权限.这看起来很直观,因为如果要首先评估添加,那么我们会有p.2无意义的.然而,很明显,.其他分离者没有表现出行为.
Ted*_*opp 15
它被认为是分隔符,而不是运算符.有关所有分隔符和运算符的列表,请参阅Java语言规范部分3.11和3.12.
| 归档时间: |
|
| 查看次数: |
2372 次 |
| 最近记录: |