4 回答
TA贡献1869条经验 获得超4个赞
可以被子类,同package下类使用,不对外公开的访问修饰符。写点自以为的想法吧,java中的访问修饰符,感觉就是人的秘密分享级别。private 个人秘密 ,default(就是不写修饰符)社区(邻居)秘密(在一个包【package】下的能访问),protected 家族,社区秘密(并且远亲不如近邻,在非static修饰下,子类不能通过new父类对象直接调用),public 社会秘密(不是秘密)。作用其实就是控制共享范围,按照需求修饰就好。其实封装,安全啥的,太难懂,太生硬。个人感觉,就是写代码的程序员,觉得不爽让所有类使用,然后根据自己心情设定分享级别,还比较好理解,然后凑巧就符合了封装,安全的作用。
TA贡献2080条经验 获得超4个赞
protected 关键字是只有这个类的字类可以访问
default即不写修饰符, 那就只有字类, 跟同一个包的类可以访问
private只有类本身可以访问
public 所有类都能访问
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修饰的方法和属性可被不同一个包中的子类继承。
添加回答
举报