可以在相同类型的类中访问私有实例变量吗?

时间:2019-05-12 17:39:40

标签: java instance-variables

说我有以下课程:

//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

为什么这样做?
可以在同一类的不同实例中访问私有实例变量吗?
我认为私有实例变量只能在同一类的实例内访问。
这是否意味着只要可以在相同类型的类中访问私有实例变量,就可以访问它?

0 个答案:

没有答案