Java中如何不重写父类方法为其添加注解?
在Java中为父类方法添加注解且不修改方法体的实现方式
要实现这个需求,你可以通过重写父类方法,在方法体内调用父类的原实现,同时添加目标注解。具体代码如下:
public class ChildClass extends ParentClass { @Override @Deprecated public void someMethod() { super.someMethod(); } }
为什么你之前的尝试无效?
- 你写的无方法体版本
public void someMethod();只适用于抽象类中的抽象方法或者接口中的方法,普通非抽象类的方法必须包含方法体,所以编译器会报错。 - 就算去掉
@Override,普通类里这种写法依然不合法——因为它不是抽象方法,编译器强制要求提供方法体。
这种写法完全保留了父类方法的原有逻辑,只是给子类中的该方法附加了@Deprecated注解。后续父类方法逻辑如果有更新,子类的这个重写方法也会自动继承变化,不需要额外修改。
内容的提问来源于stack exchange,提问作者user16450641
相关产品推荐
相关产品推荐

