前言
封装将操作数据的代码和数据链接起来。封装也提供了另一个重要的特性:访问控制。通过封装,可以控制程序的哪些部分可以访问类的成员。通过控制访问可以防止误用。——《Java8编程参考官方教程》
访问修饰符
作用范围 | 当前类 | 同一个包 | 子类 | 所有包 |
---|---|---|---|---|
public | √ | √ | √ | √ |
protected | √ | √ | √ | × |
default | √ | √ | × | × |
private | √ | × | × | × |
访问修饰符的重要
一个优秀的项目,需要对访问修饰符进行严格的控制。可以有助于开发者更好的理解项目的结构,防止误用。
-
1.protect的修饰符多用在子类表示一个继承的关系
在Android中Activity的生命周期就是如此
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
-
2.合理的private,有助于提高程序的安全性,防止误用。
比如一个工具类的编写,对于getA()方法作者是允许我们调用的,如果getB()方法,设置为public的修饰符,那么开发者也是可以调用的,这样可能会导致程序安全性问题。
public class Utils {
public static int getA(Context context) {
return getB();
}
private static int getB(){
return 0;
}
}
-
3.public 有助于开发者更好的熟悉和了解一个类
一般设置为public的方法,都是作者提供给开发者调用的,开发者可以很好的了解作者的意图,以及这个类的使用。 -
4.一般情况下访问权限符都是default
大部分开发者都不会注意修改访问符权限的问题,除非我们没办法使用到这个方法,这时候我们会提高访问符的权限。对于继承而已,访问控制是很重要的。虽然现在编译器会提示,但也只是检测到了访问符作用范围不够的问题。一个优秀的程序编写,需要开发者在今后的开发中,严格注意访问控制。
网友评论