java修饰符之访问控制修饰符

本文详细解析了Java中访问控制修饰符的使用方法及其作用范围,包括public、private、protected及默认四种级别,并强调了在不同包及继承关系中这些修饰符的应用限制。

访问控制修饰符用于控制被修饰变量、方法、类的可见范围。访问控制修饰符有三个:public/private/protected。当没有任何访问权限修饰符修饰时,我们就访问权限是“default”

下图是在不同情况下各种权限修饰符的作用范围:
在不同情况下各种权限修饰符的作用范围

总结

1、在不同包下面能够访问的权限修饰符只有: pulbic 与protected,但是 protected 必须要有继承的关系才能够访问。
2、成员变量和成员方法可以处于4个访问级别中的一个:公开、受保护、默认或私有。
3、存在继承关系时,父类不可以是 private,因为子类无法继承。
4、顶层类可以处于公开或默认级别,顶层类不能被 protected 和 private 修饰。
5、局部变量不能被访问控制修饰符修饰。
6、接口只能是public或默认级别。

7、枚举的构造方法不能使用public修饰,只能是default 或者private;

注:怎么算同一个包?

package cn.pangcloud.annotation;

 interface Inteface1 {

}

package cn.pangcloud.annotation.x;

public interface SubInterface1 extends Inteface1 {

}

虽然都在cn.pangcloud.annotation下,此种情况报错Inteface1 cannot be resolved to a type

因此都在两个类同一个包下面不包括其中一个类在子包的情况!!

比如classA在dir1/dir2/dir3下,而classB在dir1/dir2下,虽然都是dir2下,但是不是同一个包。

判断是否在同一个包下最好的方法是查看源文件package关键字后面跟的包名是否完全一致。

转载于:https://my.oschina.net/zjg23/blog/1505896

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值