为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA中protected的作用

JAVA中protected的作用

蝴蝶不菲 2019-11-15 15:10:59
JAVA中protected的作用
查看完整描述

4 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

可以被子类,同package下类使用,不对外公开的访问修饰符。写点自以为的想法吧,java中的访问修饰符,感觉就是人的秘密分享级别。private 个人秘密 ,default(就是不写修饰符)社区(邻居)秘密(在一个包【package】下的能访问),protected 家族,社区秘密(并且远亲不如近邻,在非static修饰下,子类不能通过new父类对象直接调用),public 社会秘密(不是秘密)。作用其实就是控制共享范围,按照需求修饰就好。其实封装,安全啥的,太难懂,太生硬。个人感觉,就是写代码的程序员,觉得不爽让所有类使用,然后根据自己心情设定分享级别,还比较好理解,然后凑巧就符合了封装,安全的作用。


查看完整回答
反对 回复 2019-11-16
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

protected 关键字是只有这个类的字类可以访问
default即不写修饰符, 那就只有字类, 跟同一个包的类可以访问
private只有类本身可以访问
public 所有类都能访问

查看完整回答
反对 回复 2019-11-16
?
RISEBY

TA贡献1856条经验 获得超5个赞

类NewObject中有protected修饰的方法或者属性,则:

  • 同一个包中:

  • 可在同一个包里的子类中实例化NewObject类获得对象,然后可用该对象访问protected修饰的方法或者属性,即.操作访问。

  • 可在同一个包里的非子类中实例化NewObject类获得对象,然后可用该对象访问protected修饰的方法或者属性。

  • 可在同一个包里的非子类中实例化NewObject类的子类(该子类和NewObject类在同一个包中)获得对象,然后可用该对象访问protected修饰的方法或者属性。

  • 可在同一个包里的NewObject类的子类中调用NewObject类中protected修饰的方法或者属性,即protected修饰的方法和属性可被同一个包中的子类继承。

  • 非同一个包中:

  • 可在非同一个包里的子类中实例化NewObject类获得对象,但无法用该对象问protected修饰的方法或者属性。

  • 可在非同一个包里的非子类中实例化NewObject类获得对象,但无法用该对象问protected修饰的方法或者属性。

  • 可在非同一个包里的非子类中实例化NewObject类的子类(该子类和NewObject类不在同一个包中)获得对象,但无法用该对象问protected修饰的方法或者属性。

  • 可在非同一个包里的NewObject类的子类中调用NewObject类中protected修饰的方法或者属性,即protected修饰的方法和属性可被不同一个包中的子类继承。

 


查看完整回答
反对 回复 2019-11-16
  • 4 回答
  • 0 关注
  • 297 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信