刚看视频自学到内部类,听视频的老师讲外部类不能用protected修饰,自己在网上看了一看,说所有类都不能用protected修饰,这是为什么呢?
修饰成员 修饰方法
public 所有可见 所有可见
friendly 同包可见 同包可见
protected 子类可见 子类可见,可覆写
private 自己可见(其他可通过方法获得) 内部可见,子类不能覆写
你可以看看这几个修饰符的对应范围
你整个思维方式都错了。
比如说你买了一个冰箱,然后有人说冰箱不能当烤箱,不能当作保险柜,冰箱没有上锁,…… 你这么一个一个去讨论,其实很无聊。
你应该回到冰箱的用途,这些问题明显都不是问题了。
类似的,你说用protected去修饰外部类,有什么实际意义么?它本身是“顶层”的,不属于另一个类,它protected,又没有继承的访问权限的问题。
所以当然没有。
至于内部类,是可以的,因为它属于的类可以派生,有访问权限隔离的需要:
https://blog.csdn.net/win2333/article/details/79622591
直接和你说吧,protected只能用于继承关系,这么说能明白吗