oop-25-类成员和方法的访问控制从严
阅读阿里巴巴Java开发手册,看到权限控制,之前一直没有严格在意这一块,很多时候对private 和 public使用不清楚, 成员变量一般都定义为private 而方法大部分都用了public ,转回头特地整理一下。
- 为什么成员变量定义用private
- 构造方法 和普通方法 类方法 类变量 普通变量都使用哪种访问权限
Java的四种访问控制权限
- private
- default: 同一包中的类可以访问
- protected: 子类 同一包中的类
- public
为什么成员变量定义用private
OOP三大特性封装、继承、多态中的封装
把不愿意暴露的成员变量定义成private,并不是必须定义成private,这样可以把不想让外部直接访问控制的量隐藏起来。
使用给定的set() get()方法获取和设置值 更安全。
- 构造方法 和普通方法 类方法 类变量 普通变量都使用哪种访问权限
看自己实际需要,设置访问权限,不要一味的选择大的。
ref:任何类、方法、参数、变量,严格控制访问范围,过于宽泛的访问范围不利于模块解耦。 如果是一个private,想删除就删除了,如果是public的service方法或者变量 就不太敢随便删除修改了。 变量就像自己的小孩,尽量控制在自己的视线内,变量作用域太大,无限制乱跑,那么你会担心的,