访问范围由小到大为:private(仅本类)、default(同包)、protected(同包+不同包的子类)、public(全局)。private最严,仅本类可访问;default同包可见;protected允许同包及跨包子类继承访问;public无限制,但需谨慎使用。

Java 访问修饰符核心就四个:private、default(包级)、protected、public,关键看“谁能在哪访问”。
private —— 最严,仅限本类
只能被定义它的那个类内部访问,连子类、同包类都不行。常用于封装字段和辅助方法,比如成员变量一般都 private + getter/setter。
default(不写修饰符)—— 同包可见
不加任何修饰符时,默认为包级私有。同一包下的所有类都能访问,跨包不行,继承也不行(即使子类在其他包,也访问不到父类的 default 成员)。
protected —— 同包 + 子类(跨包也行)
比 default 宽松一点:同包内所有类可访问;不同包的子类也能通过继承关系访问(但不能直接用父类引用访问,必须是子类自身代码中调用)。注意:不是“所有子类对象都能访问”,而是“子类的代码里能访问从父类继承来的 protected 成员”。
分析 Java Spring Boot 后端 Controller 代码,自动生成 Markdown 格式的接口文档。当用户说“生成 Java 接口文档”、“生成 API 文档”、“从 Spring 代码生成文档”时触发。
public —— 最开放,无限制
任何地方、任何类、任何包都能访问。适用于对外提供的 API 方法、公共工具类、接口等。但别滥用,破坏封装性。
一句话总结顺序(访问范围由小到大):private ;判断时抓住两个维度:是否同包、是否为子类(且是继承使用场景)。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










