面试题-Java作用域描述符的区别

本文详细解析了Java中权限修饰符public、protected、default及private的作用范围,包括它们在当前类、同一包、子孙类和其他包中的应用。通过具体例子说明了不同修饰符对类及其成员访问的影响。

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

先来看看一个权限的表格
作用域
当前类同一package子孙类
其他package
public√   
√   
√   
√   
protected
√   
√   
√   
  × 
default√   
√   
  × 
  × 
private √   
  × 
  × 
  × 

不写时默认为default

我们先看类:

public class  Test 可以在任何地方访问,无论是否为当前package
class Test 只允许当前的package使用,不允许其它package使用
class 不与许prirvate和protected ,所以不讨论了

我们再看方法
private 的只允许类自己使用,子类都不可见。但允许inner类调用,因为inner类属于他自己。

class Test 里面的方法
  public 和default和protected 方法,允许同包的访问,因为类是default的,所以方法不可能大于它

public class Test 里面的方法
  private 只允许自己内部访问
 default 只允许同包的访问
  protected 只允许同包和子类访问
  public 可以任意访问






<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值