天天看点

第14条:在公有类中使用访问方法而非公有域。

1、退化类(不好!!!):

class Point {
    private double x;
    private double y;

    public Point(double x, double y) {
        this.x = x;
        this.y = y;
    }

    public double getX() { return x; }
    public double getY() { return y; }

    public void setX(double x) { this.x = x; }
    public void setY(double y) { this.y = y; }
}
           

应该用共有访问方法(getter)代替。

2、 如果类是包私有的或者是私有的嵌套类,直接暴露他的数据域没有直接的错误。

3、直接暴露域不是种好办法,但如果域是不可变的,这种做法危害小一些。