4 access levels and 3 access modifiers in java

本文详细解释了Java语言中的四种访问权限:private、default、protected和public,并阐述了它们的应用场景和区别,帮助开发者更好地理解如何在开发过程中正确使用这些权限。

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

 Java语言包括四种访问权限,范围从小到大依次为:private,default,protected,public;它们对应的修饰符:private,(默认),protected,public,没有修饰符的Java代码的访问权限就是default。

ok,现在来近距离的了解它们:

首先,注意的是,这四个访问权限针对的是类,而不是对象!比如说,如果在代码中去访问它没有权限访问的java的一些东西(类、方法、成员变量),会被java编译器拒绝编译,因为java编译器知道你的类中这段代码没有这个权限访问这个特殊的java thing。

private vs default vs protected vs public

在开发中用得最多的就是private和public了,private一般用于成员变量,私有的内部方法;public用于提供对外接口的类,方法;default和protected用得相对较少,一般用于设计

private:只有在同一个类里面的代码才能访问private权限的Java thing(成员变量、方法)

default:只能在同一个包下面的代码才能访问default权限的Java thing(类、方法、成员变量),比如说一个类,它不能出现在包外的任何代码中(不能作为参数类型,不能作为返回类型,不能作为成员变量类型),它只能被同一个包下的代码使用。一般在开发中default类是用于包内部使用,不对外提供服务,包里面有几个public类向外提供接口,以供调用。

protected:与default 相似,但protected权限的类能被包外的类继承,而前面提到的default权限的类是不能出现在包外的任何代码中(包括包外的继承)。这样 protected的类的方法能够通过被包外的子类覆写调用(super.XXX)。注意,包外的子类只能覆写调用protected的父类,不能在代码中实例这个父类,因为它的权限与default相识(包访问)!

public:可以被任何地方的代码访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值