奇怪的是,实例变量brand
是私有范围,但可以在方法compareTo
内以“公共”方式访问。
public class Car implements Comparable<Car> {
private String brand;
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public int compareTo(Car o) {
return this.brand.compareTo(o.brand);
}
}
答案 0 :(得分:4)
类变量brand
对其他类而言是私有的,而不是类Car
本身。
例如,如果你尝试
class Foo
{
Foo()
{
Car car = new Car();
string brand = car.brand; // <-- will not compile;
// should use car.getBrand()
}
}
答案 1 :(得分:2)
您可以访问实例O的品牌成员,因为您处于同一类型的另一个实例
答案 2 :(得分:1)
Private
指定该变量只能由该类的成员访问。上面的场景没有任何问题。