java中四种访问控制权限的使用
内容
在java里面一共定义有四个权限,按照由小到大的顺序:private<defaule<protected<public
那么这四种访问控制权限的特点如下
NO | 范围 | private | defaule | protected | public |
1 | 一包中的同一类 | 可以 | 可以 | 可以 | 可以 |
2 | 同一包中的不同类 | 可以 | 可以 | 可以 | |
3 | 不同包的子类 | 可以 | 可以 | ||
4 | 不同包的非子类 | 可以 |
除了 public 之外其他的几种都属于封装,但是真正来讲开发中会使用的封装只有: private, protected
范例:观察 protected 访问控制权限
定义 demoa.A程序类
package demoa; public class A{ protected String info = "*******************"; }
定义 demob.B 类,此类导入 demoa.A 并且进行继承
package demob; import demoa.*; public class B extends A{ public void print(){ System.out.println(); } }
B 是 A 的子类,并且 B类之中直接访问了 A 类中的 protected 属性
定义测试类
package democ; import demoa.*; public class TestAB{ public static void main(String args[]){ B b = new B(); b.print(); } }
但是如果现在更换一下,不使用子类B,而直接在 TestAB 类里里面操作A 类
范例:错误代码
package democ; import demoa.*; public class TestAB{ public static void main(String args[]){ A a = new A(); System.out.println(a.info; } }
对于程序开发而言95%的情况下都会遵循一个原则
属性使用 private 定义测试类方法使用 public 定义
面向对象封装性: private , default , protected
总结
java程序的命名规范
类名称:每个单词的首字母必须大写,例如:TestDemo
属性名称和方法名称:第一个单词的字母小写,而后每个单词的首字母大写,例如: accessAuthority
包名称:所有的字母全部要求小写,例如:cn.mldn.uitl.access
常量名称:所有的字母都需要进行大写,例如:int ACCESS = 100;