Java 使用点符号访问实例变量
我正在为OCJP考试做准备。我面临以下代码:Java 使用点符号访问实例变量,java,Java,我正在为OCJP考试做准备。我面临以下代码: public class Island { Island n; public static void main(String[] args) { Island i2 = new Island(); Island i3 = new Island(); Island i4 = new Island(); i2.n = i3; i3.n = i4;
public class Island {
Island n;
public static void main(String[] args) {
Island i2 = new Island();
Island i3 = new Island();
Island i4 = new Island();
i2.n = i3;
i3.n = i4;
i4.n = i2;
}
}
有人能给我解释一下这里发生了什么吗
i2.n = i3;
i3.n = i4;
i4.n = i2;
在细节上,我不明白i2.n背后有什么魔力;i3.n;i4.n
我是否可以通过局部变量访问局部实例变量?孤岛的每个实例都有自己版本的
n
字段
当您使用点表示法时,您正在访问字段,因此在您给出的示例中,您正在将对象的n
字段的值更改为孤岛
对象
i2.n = i3; // The value of n inside i2 is now i3
i3.n = i4; // The value of n inside i3 is now i4
i4.n = i2; // The value of n inside i3 is now i2
这是任何面向对象编程语言的一个非常基本的元素,因此我建议您阅读更多关于Java的内容。因为属于类Island的每个实例的Island类型的成员变量n是用默认范围(package private)声明的,所以您可以用点直接访问字段
换句话说,在这种情况下,您可以访问Island n.表达式的哪个部分
i2.n=i3你不明白吗?你知道什么是变量吗?你知道什么是推荐信吗?你知道什么是作业吗?你知道什么是现场访问吗?这是不可能的。我要你澄清你不明白的地方。我不知道你的经验水平。我认为[…],字段访问i2.n
是字段访问表达式。你的访问表达式是正确的-我承认,但是你应该在对象一章中为我指出正确的主题。这就是为什么我仍然认为你对这个问题的贡献是无用的。如果你不想给出精确的答案,不要打字。未来的建议我知道用dot我可以访问另一个变量。我只是不知道i2.n是怎么工作的。我能进入n岛吗?如果是,看起来我可以通过i2、i3、i4访问岛n,这就是我困惑的地方。谢谢回复@SamTebbs33