这是一个非常幼稚的问题,但这里是:
从基类中重写的方法将意味着对子类的调用将调用派生的重写方法,对吗?
因此,如果没有重写注释,则将调用基类中的方法。因此,覆盖方法将纯粹用于记录意图-调用方法的一个版本而不是另一个版本。
真的是这样吗?
这就引出了以下问题:
抽象类( 5-6个类可以从中派生,但在派生类中继承的方法不会被覆盖)与这5-6个类使用的一个类(静态或不相关)有什么区别?
发布于 2011-01-11 05:41:55
@Override注释仅用于在编译时捕获错误。它不会影响运行时的覆盖行为。这个想法是让编译器有机会通知你你的方法名或签名是错误的。
发布于 2011-01-11 05:41:45
override注释只是一个标记,用来显示该方法覆盖了一个超类方法。
它在运行时没有任何影响。请看这里:
http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Override.html
发布于 2011-01-11 05:40:37
使用抽象是一种体系结构设计,以确保用户必须实现抽象方法(在基类中声明但没有实现),或者它们都可以访问相同的基方法和数据(这与您给出的后一个示例相同)。
https://stackoverflow.com/questions/4651781
复制相似问题