天天看點

第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、直接暴露域不是種好辦法,但如果域是不可變的,這種做法危害小一些。