我已经编写 Java 一些年了,但我仍然不明白为什么下面这个简单的示例类实际上可以通过编译。在这种情况下,我将为 myInt 创建一个 getter 方法,并使用该方法从 compareTo 中的 o 获取 myInt 方法,因为 myInt 被声明为 私有(private)。有人可以告诉我为什么这是访问o的myInt的合法方式吗?
public class B implements Comparable<B> {
private int myInt = 0;
public int compareTo(B o) {
return myInt-o.myInt;
}
}
提前致谢!
最佳答案
Access level modifiers determine whether other classes can use a particular field or invoke a particular method.
访问级别是在类级别设计的,不依赖于实例。
关于Java私有(private)修饰符混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28798503/