Java的访问权限问题

class:只能使用public, abstract,final来修饰,用final修饰的类无法被继承。

method:  abstract只能用protected或public修饰。

下面提到的default并不是使用default关键字修饰,而是什么都不写时,默认的修饰。


method:实例的访问权限,继承的复写权限,访问权限;

同包下继承时,可访问public,protected,default。可复写public,protected,default。

同包下的实例可访问public,protected,default。

不同包下继承时,可访问public,protected。可复写public,protected。

不同包下的实例只可以访问public。


attribute:实例的访问权限,继承的访问权限;

同包下继承时,可访问public,protected,default。

同包下实例可访问public,protected,default。

不同包下继承时,可访问public,protected。

不同包下实例可访问public。


总结:

private是类级别的访问限制,default是包级别的访问限制,protected是不同包的继承扩展访问限制,public是没有访问限制。

PS.

方法复写的细节:1.继承后复写的方法可以扩大方法的访问权限,不可以缩小(父类为protected,子类复写后可以将其更改为public);2.子类复写的方法的返回值可以为父类该方法返回值的子类,不可以为父类方法返回值的父类。3.子类方法抛出的异常可以为父类方法抛出异常的子类而不能为父类方法抛出异常的父类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值