Java访问权限详解

访问权限详解

Java语言有四种访问控制符:分别是 public、protected、默认的(友好的)和 private ;访问控制的权限是从大到小;public 修饰的声明的属性或方法的访问权限是最大的,在本类、非本类、非本类同包、非本类不同包中都可以访问,而 private 修饰的声明的属性和方法的访问权限是最小的,只有在本类中才可以访问;因为这两个较常用而且较简单,故在这里不再详细解释,我们重点看一下 protected 和默认的(友好的)访问权限的区别;

protected 访问控制符

protected 访问控制符修饰的属性和方法可以在非本类的同包中使用,无论是继承关系还是非继承关系都可以;如果有继承关系,则可以在非本类不同包中使用,

这是非本类不同包继承调用;在包 com.ghj.test 中定义 Person 类,其属性和方法(包括无参构造方法)均使用 protected 修饰,再在包 cn.jd.test 中定义 Son 类继承 Person 类的属性和方法,则可以通过 Son 的实例化对象 son 来调用其父类 Person 的属性和方法;

同样定义类 Person 和 Son,这次 Son 不再继承 Person,在 Son 类中直接创建 Person 对象,直接调用对象属性和方法,则系统会报错;因为 protected 修饰的属性和方法不继承的话,不能在不同包中调用。 

默认的(友好的)

默认的(友好的)修饰符修饰的对象的属性和方法不能在非本类的不同包中使用,但可以在非本类的同包中自由使用,且不继承也能使用;

我们将 Person 类和 Son 类都创建在同一个包里(这里是包 com.ghj.test ),则不需要继承就可以直接创建 Person 对象,并使用对象调用属性和方法。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值