说我有以下课程:
//Tile.java
public class Tile {
private String letter;
public Tile() {
letter = "A";
}
public boolean matches(Tile t) {
return letter.equals(t.letter);
}
}
和
public class Main {
public static void main(String[] args) {
Tile t1 = new Tile();
Tile t2 = new Tile();
System.out.println(t1.matches(t2));
}
}
Check the code out for yourself on repl.it
我认为matches()
方法将无法编译,因为letter
是私有实例变量,因此,如果没有访问器方法的帮助,我将无法访问它。
但是,代码会编译并运行,输出:
true
为什么这样做?
可以在同一类的不同实例中访问私有实例变量吗?
我认为私有实例变量只能在同一类的实例内访问。
这是否意味着只要可以在相同类型的类中访问私有实例变量,就可以访问它?