概述
访问控制在OOP中,尤其是封装的时候很重要,这些修饰符能够控制哪里属性方法能够被哪些类访问,还能保证哪些属性方法不让哪些类访问,保证数据不轻易被非法破坏,java主要使用public,protected,private以及默认值这四个修饰符来控制。
1 类的访问控制
这种比较简单,一般两种:public和默认不带修饰符的两种情况
1.1 public 类
这种类是共有的,可以被所有其他的类访问到;如果访问的类在同一个包之中,可以直接使用,不用import,否则需要import。
一般如果类中定义了一些常用的方法,最好声明为public。
1.2 default 类
即不加修饰符的类,只能在同一个包之中访问,不能跨包(class cannot be resolved to a variable),也成为包访问性。
2.类中属性和方法的访问控制
注意一点:可以访问到这个类,但是不一定能访问到它的属性和方法。因为类中属性和方法也进行了访问控制。属性和方法的访问都是四种:public,protect,private,default。
2.1 public修饰
和类中修饰的意义一样,如果属性和方法是public,则任意类都可以访问到。但是一般情况下,不推荐属性定义为public,这样有可能会破坏数据,而对于一些对外提供的方法,应该设置成public的。
2.2 default 修饰
也叫做Package access,顾名思义:就是只能在同一个包中的类才能访问,外部的包不能访问。
2.3 private 修饰
只能在该类中访问,不能在其它类,更不能跨包。这样做到目的是为了防止随意访问带来的危害(推荐)。
2.4 protected 修饰
如果设置为private的话,那么子类中也不能访问该变量 。如果需要在中访问该属性,可以使用protected修饰。这时子类(跨包也可以),相同包中的都可以访问。
如果是跨包子类,那么只能通过子类引用的方式来访问父类的protected:
最后
以上就是安静秀发为你收集整理的access control java_java access control 访问控制的全部内容,希望文章能够帮你解决access control java_java access control 访问控制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复