关于Java的基础知识,我遇到了一件有趣的事情.这是代码:
class Whoa {
private int n;
private void d() {
Whoa whoa = new Whoa();
whoa.n = 1;
}
}
Run Code Online (Sandbox Code Playgroud)
为什么n对象的字段whoa可以访问?我的意思是,好吧,我们在课堂上.但是whoa是单独的对象,我以为我们只能访问当前对象的字段.虽然我承认如果我们有一个采用Whoa参数的方法:
private void b(Whoa w) {
w.n = 20;
}
Run Code Online (Sandbox Code Playgroud)
我们肯定可以访问n.这一切都让人很困惑.有人可以澄清一下吗?
Java的访问修饰符的要点是保护类的内部不受代码外部的影响.由于同一类的所有实例共享相同的内部代码,因此在它们之间实施访问限制几乎没有用处.
这是Java的类级封装的基本原理.