Java类的访问权限关键字用法说明
Java中提供了三个关键字在类的内部设置边界,控制类的访问权限,分别是:public、protected、private。这些访问的指定词决定了紧跟其后的被定义的东西可以被谁使用。
public:表示其后的元素对任何人都可以使用。
private:表示其后的元素除了类型的创建者和内部的方法之外任何人都不能访问。
protected:与private相当,差别在于继承的类可以访问protected修饰的元素,同包中的其他类元素也可以访问。
Java还有一种默认的访问权限,在不指定任何关键字的情况下,这种权限将发挥作用,它是一种包的访问权限,即在当前包中的任何元素可以访问。
访问权限控制的作用:
1、让客户端程序员无法触及他们不应该触及的一部分数据――这些数据对于数据类型的内部操作是必须的,但并不是解决特定问题所需接口的一部分。隐藏一些实现的细节对于保护数据类型内部脆弱的部分,提高程序的安全性和可用性也是必须的。
2、允许类库的设计者改变其内部的工作方式而不影响客户端程序员。在设计者有更加优化的代码设计方式的时候可以随时改变类的内部结构,而这些对于客户端程序员都是不可见的,他们也无需关心类的实现细节。
――来自《Java编程思想》
补充知识:JAVA 中的权限访问修饰符(public,protected,default,private )
JAVA中有四个权限访问修饰符:public,protected,default,private
注意:这里讲的是对类中属性和方法的访问权限,并不是类的访问权限
1.default:包访问权限
如果什么也没写,默认为default。当然也可以显式得给出default权限
default修饰的属性和方法,包中的所有其他类对那个成员都有访问权限,但是对于这个包之外的所有类没有访问权限。
2.public: 接口访问权限
public修饰的属性和方法对每个类都是可见的
3.private:类内访问权限
private和public相对,private修饰的属性和方法即除类本身外,其他类都不能访问。
4.protected:继承访问权限
首先,protected提供包访问权限。换句话说,如果两个类在同一个包内,对调用者所在的类来说,default和protected提供的访问权限相同。
如果不在一个包,protected提供了继承访问权限,即子类可以访问父类中被protected修饰的属性和方法。
他们关系如下:
类内 | 继承 | 包内 | 其他所有 | |
public | 是 | 是 | 是 | 是 |
protected | 是 | 是 | 是 | 否 |
default | 是 | 是 | 否 | 否 |
private | 是 | 否 | 否 | 否 |
上一篇:SpringBoot普通类获取spring容器中bean的操作
栏 目:JAVA代码
本文标题:Java类的访问权限关键字用法说明
本文地址:http://www.codeinn.net/misctech/5569.html
阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机