Java学习笔记16——4种访问修饰符区别

本文详细介绍了Java中的四种访问修饰符:private(限制类内访问)、默认(同一包内访问)、protected(同一包及子类间访问)和public(全包及跨包访问)。强调了它们在隐藏实现细节和控制继承中的作用。
摘要由CSDN通过智能技术生成

在Java中,使用访问修饰符来保护对类、变量、方法和构造方法的访问。Java提供了4种不同的访问权限,以实现不同范围的访问能力。

修饰符的作用范围
限定词 同一个类中同一个包中不同包中的子类不同包中的非子类
private

无限定词(默认)
protected
public

1、私有的访问修饰符——private

private访问修饰符是最严格的访问级别,所有被声明为private的方法、变量和构造方法只能被所属类访问,并且类型和接口不能声明为private。

声明为私有访问类型的变量只能通过类中的公共方法(一般定义为get/set该属性值)被外部类访问。private访问修饰符主要用来隐藏类的实现细节和保护类的数据。

public class PrivateTest {
    private String name;                // 声明私有的成员变量
 
    public String getName() {           // 私有成员变量name的get方法
        return name;
    }

    public void setName(String name) {  // 私有成员变量name的set方法
        this.name = name;
    }

}

class RunPrivateTest {
    public static void main(String[] args) {
        PrivateTest p = new PrivateTest();       // 创建类PrivateTest的对象
        p.setName("private访问修饰符");            // 调用对象的set方法
        System.out.println("name = " + p.getName());  // 通过对象的get方法获取name值
    }
}

2、默认的访问修饰符——不使用任何关键字

使用默认访问修饰符声明的变量和方法,可以被这个类本身或者与类在同一个保内其它类访问。接口里的变量都是隐式声明为public static final,而接口里的方法默认情况下范围权限为public。

3、受保护的访问修饰符——protected

被声明为protected的变量、方法、构造方法能被同一个包中的任何类访问,也能够被不同包中的子类访问(为子类而生)。

protected访问修饰符不能修饰类和接口,方法和成员变量能够声明为protected,但是接口的成员变量和成员方法不能声明为protected。

4、公有的访问修饰符——public

被声明为public的类、方法、构造方法和接口能够被任何其它类访问。如果几个相互访问的public类分布在不同的包中,需要使用import关键字导入相应的public类所在的包。

由于类的继承性,类所有的公有方法和变量都能被其子类继承。

另外,类还有外部类和内部类之分,外部类,只能使用public和default(默认)来修饰。内部类,可以有如上4种。

内部类和外部类的其它成员(属性和方法)一样,是外部类的成员。所以,它不仅有外部类的public和default(默认)可用;作为外部类的成员,它又具有类成员的可用修饰符protected及private修饰定义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值