Java的访问控制修饰符

本文深入解析Java的四种访问修饰符:默认、private、public和protected,探讨如何通过它们实现信息隐藏,以及它们在类、接口、变量和方法上的应用实例。理解并掌握这些修饰符对于OOP编程至关重要。
摘要由CSDN通过智能技术生成

Java的访问控制修饰符

信息隐藏是 OOP 最重要的功能之一,也是使用访问修饰符的原因。
在日常学习中,我们主要遇到以下四种访问修饰符:
default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。

private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
public : 对所有类可见。使用对象:类、接口、变量、方法

protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。

public举例:

public static void main(String[] args) {
	}

public类对于所有类都可见

private举例:

public class student {
   private int id;
   public int getId() {
      return this.id;
   }
   public void setFormat(int x) {
      this.id = x;
   }
}

这里访问学生类中的学号信息只能使用getId函数,不能直接访问

protected举例:

class HelloWorld {
       protected boolean openSpeaker(Speaker sp) {
          // 实现细节
       }
    }
     
    class StreamingAudioPlayer extends AudioPlayer {
       protected boolean openSpeaker(Speaker sp) {
          // 实现细节
       }
    }

被声明为protected的变量、方法和构造方法能被同一个包中的任何其他类访问,也能够被不同包中的子类访问。
protected访问修饰符不能修饰类和接口,方法和成员变量能够声明为protected,但是接口的成员变量和成员方法不能声明为protected。
子类能访问protected修饰符声明的方法和变量,这样就能保护不相关的类使用这些方法和变量。

default:
使用默认访问修饰符声明的变量和方法,对同一个包内的类是可见的。接口里的变量都隐式声明为 public static final,而接口里的方法默认情况下访问权限为 public。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值