我不明白为什么我可以访问private int i课堂外的私人课程.
public class Fish {
private int i = 1;
public static void main(String[] args) {
Fish k = new Fish();
k.i = 2; // it IS possible
}
}
Run Code Online (Sandbox Code Playgroud)
你的主要方法是Fish类的一部分不是吗?
以下不起作用:
public class Fish {
private int i = 1;
}
class Reptile{
public static void main(String[] args) {
Fish k = new Fish();
k.i = 2; // Compiler error.
}
}
Run Code Online (Sandbox Code Playgroud)
访问修饰符在类级别而不是在对象级别上工作.
您可以访问,k.i因为代码与i声明成员的类在同一个类中.
理由是(afaik)以下内容:您(部分)封装数据以便于将来的维护和重构.当您重构代码时,您重构类,而不是对象.
| 归档时间: |
|
| 查看次数: |
241 次 |
| 最近记录: |