所以,假设我正在尝试完成需要某种形式抽象的任务。要子类或实现接口
这个任务可以通过子类化或通过实现接口来完成。
有没有任何理由倾向于它们之一?
效率明智或公约明智呢?
一个例子
子类
public abstract class Main {
public abstract void doSomething();
}
public class SubMain extends Main {
public static void main(String[] args) {
new SubMain().doSomething();
}
@Override
public void doSomething() {
System.out.println("Example Method.");
}
}
而且实现接口
public interface TestInterface {
public abstract void doSomething();
}
public class MainWithInterface implements TestInterface {
public static void main(String[] args) {
new MainWithInterface().doSomething();
}
@Override
public void doSomething() {
System.out.println("Example Method.");
}
}