我在Jenkins插件中看到这个代码片段,我认为它是no-op
@Override
public DescriptorImpl getDescriptor() {
return (DescriptorImpl)super.getDescriptor();
}
这可能是必要的,并且不能从代码中解决?
答案 0 :(得分:6)
在覆盖期间,您可以修改返回类型(如果新的返回类型是旧返回类型的子类)。
例如:
public class A {
public Number getNumber() { /* ... */ } ;
}
public class B extends A {
@Override
public Integer getNumber() { /* ... */ } ;
}
在您的示例中,super.getDescriptor()
可能始终返回DescriptorImpl
个对象,因此您可以覆盖该方法以避免在代码中进行某些转换。