修饰符public,private,protected作用域范围

本文深入解析Java中的public、private、protected三种访问权限的作用与应用场景,帮助开发者更好地理解类成员的可见性和控制。

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

public公共的。权限最大,外界可以引用

private 私有的。只能被本类自己调用,类外都不可以调用,子类也不可以

protected 受保护的。只能被子类(子类可以在其他包下面)或者同一个包下的其他类引用。其他的都不可以
### C# 访问修饰符作用域解释 #### private 修饰符 `private` 修饰符定义的成员仅能在声明它的类内部访问。这意味着即使派生自该类的子类也无法访问 `private` 成员[^2]。 ```csharp class Vehicle { private string model; } ``` #### protected 修饰符 `protected` 关键字指定的成员可由其所在类及其任何派生类访问。这使得基类能够向子类公开某些实现细节而不对外界开放[^1]。 ```csharp class Engine { protected int _rpm; protected void Burn(int amount) { // Implementation here... } } class Car : Engine { public void Start() { this._rpm = 800; // Accessible because of inheritance. base.Burn(5); // Also accessible through 'base' keyword. } } ``` #### public 修饰符 当使用 `public` 来限定成员时,它意味着没有任何访问限制;也就是说,此类或结构中的公共成员可以从程序内的任意位置被访问到[^4]。 ```csharp public class Program { static void Main(string[] args) { var car = new Car(); Console.WriteLine(car.GetType().Name); } } ``` #### internal 修饰符 带有 `internal` 的成员可以在同一程序集(即同一个项目)内自由访问,但在外部则无法触及。这对于希望保持组件间接口清晰的应用特别有用。 ```csharp internal class InternalClass { public void DoSomething() {} } // Within the same assembly/project: var instance = new InternalClass(); instance.DoSomething(); // This works fine within the project boundary. // Outside the assembly/project would result in compile-time error. ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值