访问修饰符用于控制类成员的可访问范围,主要分为 public、private 和 protected。public 允许任何地方访问,适用于对外暴露的方法或属性;private 仅允许在定义它的类内部访问,常用于保护数据并配合 getter/setter 使用;protected 允许同一包内访问及不同包中的子类访问,适合希望子类继承但不对外公开的成员。合理使用这三种修饰符有助于提高代码封装性和安全性。

类的访问修饰符主要用来控制类、方法、属性等成员在不同范围内的可访问性。常见的访问修饰符有 public、private 和 protected,它们分别对应不同的访问权限。

public:公开访问
public
是最宽松的访问级别,表示该成员可以在任何地方被访问,不受限制。
适合用在对外暴露的方法或属性上,比如接口方法、工具类中的公共函数。例如:
public class User { public String name; public void sayHello() { System.out.println("Hello, " + name); }}
在这个例子中,
name
和
sayHello()
都可以被外部直接调用。
注意:虽然方便,但不要随便把所有内容都设为 public,这样会破坏封装性。
private:私有访问
private
表示只能在定义它的类内部访问,外部无法直接访问。
常用于保护数据安全,防止外部随意修改对象的状态。通常配合 getter/setter 使用。
例如:
public class User { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; }}
这样做的好处是可以通过 setter 控制赋值逻辑,比如加上校验:
public void setName(String name) { if (name == null || name.isEmpty()) { throw new IllegalArgumentException("Name can't be empty"); } this.name = name;}
protected:受保护访问
protected
的访问权限介于 public 和 private 之间,允许以下几种情况访问:
同一个包(package)中的其他类不同包中的子类(即使子类不在同一个包里)
常见使用场景包括:
定义一些只希望子类继承和使用的方法或字段构造器设为 protected,用于实现工厂模式等设计模式
举个例子:
public class Animal { protected void makeSound() { System.out.println("Some sound"); }}public class Dog extends Animal { public void bark() { makeSound(); // 可以访问父类的 protected 方法 }}
但如果在另一个不相关的类中尝试访问
makeSound()
,就会失败。
小结一下常见用法建议:
数据字段尽量设为
private
,通过 getter/setter 暴露访问对外提供的功能方法可以设为
public
如果想让子类能访问但不想外部直接访问,就用
protected
基本上就这些了,理解清楚每个修饰符的作用范围,在实际开发中合理使用,代码结构会更清晰也更安全。
以上就是类的访问修饰符有哪些?public、private和protected的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1468951.html
微信扫一扫
支付宝扫一扫