java四种访问权限的作用_Java四种访问权限的简单解释

Java四种访问权限的简单解释

Java四种访问权限的简单解释

四种权限的范围

e6ee01c1ad25064f8eeffed3e566f64b.png

1. private

表示只能在单个类中访问

如图所示,并且提示改更改为默认,默认不写就行,无关键字

46413d531feaa4804f12d24b0b98dae4.png

2. default(无关键字,留空即默认)

同一个包下的类都可以访问,这里t1包下面有三个类,分别是test1,test2,test3

它们三个类都属于同一个包下的类

be1597210c11ef6d32ea50cbbd545267.png

e7fcfcde88dc05a1028c51043a500524.png

3. protected

protected可以在不同包的子类中访问,权限更大一个级别

例如,在B包中的类b1继承了在A包中的类a1,这个类b1就叫做不同包的子类

在不同包子类中访问时,还需要将不同包中的类进行import引入才能进行继承,

因为它是另一个包中的类,所以要先引入,并且引入只能引入public类

这里引入t1包中的test2类,作为t2包中的k2类的父类,所以k2类可以成为不同包的子类

父类–t1包中的test2类

e211bfcd6d887ae1c0bc5779beb89f81.png

不同包中的子类–t2包中的k2类

c47aad535772b09d7fd27a04945c23d0.png

这里不同包的子类中访问父类的数据必须用super关键字,jvm才能检测到你是在访问父类中的数据,直接访问会出错提示你改为public

4. public

若父类中全部为protected及其低级的权限,

892a3e2fc3c9f36a54cb7dc0f86e4701.png

则这样在不同包的非子类k1中是不能够访问的,并且提示该为public

19358ce3f37ed515caccbce266327630.png

父类的test2的构造函数改完public后就可以访问了

1807a7b3a5086141bb7ec49974679310.png

这里还要再总结一下,若自己写的程序不需要跨包访问直接默认就行了,

如果需要跨包访问,并且在另一个包中只需要用到父类来派生子类,直接用父类中已经有的数据成员还有方法,并且也不需要在派生子类中 创建父类的对象作为数据成员,用protected就足够了。但是若需要创建父类的对象作为 类中的数据成员的话就它的构造方法必须要用public了,这样才能创建父类的对象。 即protected只能访问不能新建父类的对象!

所以我们经常默认把类的构造方法权限写为public,表示我们在另一个包中需要用到另一个包中的父类,这样我们写的时候也容易创建父类的对象呀,干脆直接用最高权限,免得考虑太多麻烦

Java四种访问权限的简单解释相关教程

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值