Java 抽象类包含接口中的抽象方法是否被认为是更好的形式?

Java 抽象类包含接口中的抽象方法是否被认为是更好的形式?,java,interface,abstract-class,abstract-methods,Java,Interface,Abstract Class,Abstract Methods,我意识到接口遗留下来的抽象方法的声明是可选的,但我想知道,从语义上来说,包含它们是否被认为是更好的形式 接口: public interface Interface { //Other methods.... public void unimplementedMethod(); } 抽象类: public abstract Class AbstractClass implements Interface { //Implemented methods.... public abstract v

我意识到接口遗留下来的抽象方法的声明是可选的,但我想知道,从语义上来说,包含它们是否被认为是更好的形式

接口:

public interface Interface {
//Other methods....
public void unimplementedMethod();
}
抽象类:

public abstract Class AbstractClass implements Interface {
//Implemented methods....
public abstract void unimplementedMethod();   //Should include or better to leave out?
}
你应该把它们排除在外。 它们没有增加任何好处,只是增加了要维护的代码量。如果要删除该方法,则需要在另一个位置执行该操作

代码质量分析器通常要求减少不需要的任何内容:冗余修饰符,例如:接口中的公共抽象、声明的运行时异常抛出IllegalArgumentException、冗余抛出抛出异常、IOException等等

但是,您可以考虑用空主体、返回默认值的配置属性方法实现抽象类事件侦听器方法中的方法的默认行为。 例如:

isPersistent只需要在使用默认值以外的其他值的子类中被覆盖。

您应该将其忽略。 它们没有增加任何好处,只是增加了要维护的代码量。如果要删除该方法,则需要在另一个位置执行该操作

代码质量分析器通常要求减少不需要的任何内容:冗余修饰符,例如:接口中的公共抽象、声明的运行时异常抛出IllegalArgumentException、冗余抛出抛出异常、IOException等等

但是,您可以考虑用空主体、返回默认值的配置属性方法实现抽象类事件侦听器方法中的方法的默认行为。 例如:


isPersistent只需要在使用默认值以外的其他值的子类中被覆盖。

除非您有任何要添加的内容,例如javadoc,请将其删除。除非您有任何要添加的内容,例如javadoc,请将其删除。
public boolean isPersistent() {
  return true;
}