java中四种不同的限定词限定的成员(成员变量或成员变量方法),访问权限由大到小依次为:
- public(公共的)
可以被所有的类访问
- protected(受保护的)
可以被这个类本身访问
可以被它的子类访问(同一个包以及不同包的子类)访问。
可以被同一个包中所有其他的类访问
- 默认的、友好的
被这个类的本身访问
被同一个包中的类访问 - private(私有的)
只能被这个类本身访问
如果一个类的构造方法声明为private,则其他类不能生成该类的实例
public成员 | protected成员 | 默认成员 | private成员 | |
同一个类中可见 | 是 | 是 | 是 | 是 |
同一个包中对子类可见 | 是 | 是 | 是 | |
同一个包对非子类可见 | 是 | 是 | 是 | |
不同包中对子类可见 | 是 | 是 | ||
不同包中对非子类可见 | 是 |
封装:
将成员变量声明为私有的(private),再提供一个或多个公有的(public) getXX()
和setXX()方法实现对该成员变量的访问和修改。
-
- 类中私有的成员变量、成员方法只能在该类的内部调用,不能通过该类的对象调用
封装的目的:
-
- 隐藏类的实现细节;
- 让使用者只能通过指定的方法访问数据,可以方便加入控制逻辑,限制不合理的操作
- 便于修改,增强代码可维护性
- 可进行数据检查
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步