Java笔记2——访问修饰符
2 访问修饰符
2.1 区分:
有 public
、private
、protected
没有修饰符即为默认:package/friendly/default
-
private:只有类自身可以访问;由该类实例的对象不能访问,子类不能继承
-
public:所有类均可以继承、访问:(同包/不同包)子类可继承;(同包/不同包)类可以访问
-
protected:不同包且没有继承关系的类不能访问
-
没有修饰符(package):只能在自己包使用;不同包不能访问、继承
-
总结(红色字体表示不可行)
下面以Hero为研究对象,弄清楚各个类之间的关系
**自身:**指的是Hero自己
**同包子类:**ADHero这个类是Hero的子类,并且和Hero处于同一个包下
不同包子类:Support这个类是Hero的子类,但是在另一个包下
同包类: GiantDragon 这个类和Hero是同一个包,但是彼此没有继承关系
**其他类:**Item这个类,在不同包,也没有继承关系的类
2.2 什么情况使用什么修饰符
属性通常使用private封装起来
方法一般使用public用于被调用
会被子类继承的方法,通常使用protected
package用的不多,一般新手会用package,因为还不知道有修饰符这个东西
作用范围最小原则:
简单说,能用private就用private,不行就放大一级,用package,再不行就用protected,最后用public。 这样就能把数据尽量的封装起来,没有必要露出来的,就不用露出来了
本文来自博客园,作者:aJream,转载请记得标明出处:https://www.cnblogs.com/ajream/p/15383546.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人