1 ) 如果不允许外部直接通过 new 来创建对象,那么构造方法必须是 private 。
2 ) 工具类不允许有 public 或 default 构造方法。3 ) 类非 static 成员变量并且与子类共享,必须是 protected 。4 ) 类非 static 成员变量并且仅在本类使用,必须是 private 。5 ) 类 static 成员变量如果仅在本类使用,必须是 private 。6 ) 若是 static 成员变量,必须考虑是否为 final 。7 ) 类成员方法只供类内部调用,必须是 private 。8 ) 类成员方法只对继承类公开,那么限制为 protected 。说明:任何类、方法、参数、变量,严控访问范围。过宽泛的访问范围,不利于模块解耦。思考:如果是一个 private 的方法,想删除就删除,可是一个 public 的 Service 方法,或者一个 public 的成员变量,删除一下,不得手心冒点汗吗?变量像自己的小孩,尽量在自己的视线内,变量作用域太大,如果无限制的到处跑,那么你会担心的。