访问控制权限—Java如何在代码体现面向对象和多态(3)

一、访问控制权限

(1)访问控制权限都有哪些?

private私有
public公开
 默认
protected受保护

(2)以上4个访问控制权限的,控制范围是什么?

访问修饰符

本类

同包

子类

任意位置

Public

可以

可以

可以

可以

Protected

可以

可以

可以

不行

默认

可以

可以

不行

不行

Private

可以

不行

不行

不行

 (3)测试

(a)首先我先建立了一个包

(b)在这个包中我定义了一个类,并且给他四个不同类型的访问权限

(c)在Test类中,我分别去访问这四个属性

结果,我发现只有被private修饰的id会报错,所以private 只能在本类中访问,即使是同包也不能访问。

(5)之后,我又在lftgb这个包下面建立了一个类Test2

 

 (6)继续访问UserTest

结果我发现只有被public修饰的name没有被报红,被protected/默认修饰的age、sex都报红了。

(7)我再测试用Test2去测试UserTest

 用子类去访问age就可以了,但是这时候我遇到了一个问题,如果我用父类去访问自己的protected行不?

 

 这种情况下,是不行的。

二、访问控制权限可以修饰什么?

属性4个都可以
方法4个都能用
public和默认能用,其他不行
接口public和默认能用,其他不行

 

三、总结

private只可以修饰本类的,proctected和默认可以修饰同包的,其实protected也可以修饰不同包子类的,public都可以。

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TGB-Earnest

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值