Java四个权限修饰符

本文详细解析了Java中封装的四种权限修饰符:private、默认、protected和public的作用范围及对象。private仅当前类可见;默认为当前包内可见;protected适用于当前包和子类;public则对所有包可见。此外,还介绍了类成员和类本身的修饰规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

封装的四个权限修饰符作用

一.作用范围
  1. private : 作用范围是当前类 类可见性
  2. 默认 : 作用范围是当前包 包可见性
  3. protected : 作用范围是当前包+其他包中的子类
  4. public : 作用范围是当前包+其他包=当前项目的所有包
二.作用的对象
  1. 类的成员可以使用四个修饰符修饰: private,默认 ,protected ,public

  2. 类只能使用public和默认来修饰。public修饰的类,要求类名和文件名相同,一个java文件中最多有一个public修饰的类。

### Java 四个访问修饰符详解 Java 中的四个访问修饰符(`public`、`private`、`protected` 和 `default`)用于控制类、方法、构造函数和变量的访问权限。以下是每个修饰符的详细解释及其用法。 #### 1. `public` `public` 是 Java 中访问限制最宽的修饰符,被其修饰的类、属性或方法可以被任何其他类访问,无论这些类是否在同一包中[^1]。 - **适用范围**:跨包访问。 - **示例代码**: ```java public class PublicExample { public String message = "This is a public variable."; public void display() { System.out.println("This is a public method."); } } ``` #### 2. `private` `private` 是 Java 中对访问权限限制最窄的修饰符,被其修饰的类、属性或方法只能在声明它的类内部访问。子类无法访问 `private` 成员,即使它们在同一个包中也不行。 - **适用范围**:仅限于本类内部。 - **示例代码**: ```java public class PrivateExample { private String secret = "This is a private variable."; public void showSecret() { System.out.println("Private variable: " + secret); } } ``` #### 3. `protected` `protected` 介于 `public` 和 `private` 之间,被其修饰的类、属性或方法可以被以下三类访问[^1]: - 同一包中的其他类; - 不同包中的子类; - 该类自身。 即使子类位于不同的包中,仍然可以访问 `protected` 成员。 - **适用范围**:同一包内或不同包中的子类。 - **示例代码**: ```java public class ProtectedExample { protected String info = "This is a protected variable."; } class SubClass extends ProtectedExample { public void displayInfo() { System.out.println("Protected variable: " + info); } } ``` #### 4. `default`(无修饰符) 如果一个类、方法或变量没有显式地使用 `public`、`private` 或 `protected` 修饰符,则它具有默认访问权限,也称为包级访问权限[^3]。这种情况下,只有同一包中的类可以访问该成员。 - **适用范围**:仅限于同一包内的类。 - **示例代码**: ```java class DefaultExample { String data = "This is a default access variable."; void printData() { System.out.println("Default access method."); } } ``` ### 总结表 | 访问修饰符 | 同一类 | 同一包内其他类 | 子类(不同包) | 不同包非子类 | |------------|---------|-----------------|----------------|---------------| | `public` | ✔️ | ✔️ | ✔️ | ✔️ | | `protected`| ✔️ | ✔️ | ✔️ | ❌ | | `default` | ✔️ | ✔️ | ❌ | ❌ | | `private` | ✔️ | ❌ | ❌ | ❌ |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值