为什么在最终课程中允许受保护的成员?
这不应该是编译时错误吗?
编辑:正如人们所指出的,您可以使用默认修饰符来获得相同的包访问权限.它应该以完全相同的方式运行,因为protected只是默认的+子类,而final修饰符明确拒绝子类化,所以我认为答案不仅仅是提供相同的包访问.
Tom*_*ine 17
该protected改性剂是在该覆盖方法需要protected从基类的方法,在不暴露这些成员的public.
一般来说,你可能会引入许多不必要的规则来取缔不可信的组合(例如protected static),但它没有多大帮助.你不能禁止愚蠢.
ska*_*man 15
因为受保护的成员可以被同一个包中的其他类以及子类访问.
这里说的参数protected可以通过同一个包的类访问成员是有效的,但在这种情况下protected变得等于默认的可见性(包私有),问题仍然存在 - 为什么两者都允许.
我猜两件事:
final临时制作课程,直到作出设计决定.每次添加或删除时,都不应该更改所有可见性修饰符final| 归档时间: |
|
| 查看次数: |
3259 次 |
| 最近记录: |