java中的同包权限(default)和保护权限(protected)哪个访问范围更大?

本文讨论了Java中四种访问权限(公共、保护、默认同包和私有)的概念,强调了封装思想的应用,并解释了不同权限范围的限制,如保护权限仅限于类内和子类继承,而同包权限允许包内类间的互访但不支持跨包继承。
摘要由CSDN通过智能技术生成

java相对于c++多了一个同包权限,于是就可能会问这个同包权限与保护权限相比,哪个范围更大?类的访问控制体现了封装的思想。如果画四个依次包含的圆来表示拥有某一权限的类成员的可访问范围,最外面的圆一定是公有权限(public),由外及里,依次为同包权限(default),保护权限(protected),私有权限(private)。

1.公有权限(public)

顾名思义,完全开放的,这样的类成员谁都能访问到。

2.保护权限(protected)

可以在类的内部访问;子类通过继承父类,也可以访问到父类的保护成员。

那么,在子类里能不能访问父类的对象的保护成员呢?不能的。可见这种保护成员的访问不能在不同的类的对象之间开放。

3.同包权限(default)

一个类的成员如果不使用访问权限关键字修饰,就是同包(default)权限的。

可以在类的内部访问;或者位于同一个包名内的其他类也能访问。两个类位于同一个包内,就叫做同包,它们不仅可以访问彼此的同包成员,也可以访问彼此的具有保护权限的成员。

那么,同包权限的类成员能被继承吗?这里要分为两种情况:子类与父类同包的,可以继承;子类与父类不同包,不能继承。

4.私有权限(private)

不用讲了吧,拥有的访问范围最小,只能在类的内部访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值