这是一个非常天真的问题,但这里有:
来自基类的重写方法是否意味着对子类的调用将调用派生的overriden方法,是否正确?
因此,如果没有覆盖注释,则将调用基类中的方法。因此,覆盖方法将纯粹用于记录意图 - 将方法的一个版本调用另一个版本。
是这样的吗?
这引出了以下问题:
5-6个类可以派生的抽象类之间有什么区别,但是派生类中继承的方法没有被覆盖,还有一个类(静态或不相关),由5-6个类使用?
答案 0 :(得分:10)
@Override注释仅用于在编译时捕获错误。它不会影响运行时的覆盖行为。我们的想法是让编译器有机会通知您方法名称或签名是错误的。
答案 1 :(得分:1)
覆盖注释只是一个标记,用于显示该方法覆盖超类方法。
它在运行时没有效果。见这里:
http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Override.html
答案 2 :(得分:0)
使用abstract是一种体系结构设计,用于确保用户必须实现抽象方法(已声明但未在基类中实现),或者它们都可以访问相同的基本方法和数据(这与后者相同)你给的例子。)
答案 3 :(得分:0)
因此,如果没有覆盖 注释,基础中的方法 上课将被召唤。
没有。始终会调用派生类中的重写方法。
所以覆盖 方法将纯粹用于文档 意图 - 调用一个版本的 另一种方法。
是这样的吗?
没有。根据其他答案,它告诉编译器坚持要覆盖某些内容。