1

奇怪的是,实例变量brand是私有范围,但可以通过 method 内部的“公共”方式访问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);
    }
}
4

3 回答 3

4

类变量brand对于其他类而不是类Car本身是私有的。

例如,如果您尝试

class Foo
{
     Foo()
     {
          Car car = new Car();
          string brand = car.brand; // <-- will not compile; 
                                    // should use car.getBrand()
     }
}
于 2011-08-14T02:52:31.267 回答
2

您可以访问实例 O 的品牌成员,因为您在另一个相同类型的实例中

于 2011-08-14T02:52:41.003 回答
1

Private指定该变量只能由该类的成员访问。上面的场景没有任何问题。

于 2011-08-14T02:54:12.407 回答