是否有为接口方法创建默认实现的首选方法或样式?假设我有一个常用的界面,在90%的情况下我想要的功能是相同的.
我的第一直觉是用静态方法创建一个具体的类.然后,当我想要默认功能时,我会将功能委托给静态方法.
这是一个简单的例子:
接口
public interface StuffDoer{
public abstract void doStuff();
}
Run Code Online (Sandbox Code Playgroud)
具体实施方法
public class ConcreteStuffDoer{
public static void doStuff(){
dosomestuff...
}
}
Run Code Online (Sandbox Code Playgroud)
使用默认功能的具体实现
public class MyClass implements StuffDoer{
public void doStuff(){
ConcreteSuffDoer.doStuff();
}
}
Run Code Online (Sandbox Code Playgroud)
这里有更好的方法吗?
编辑
在看到一些提议的解决方案后,我想我应该更清楚我的意图.本质上我试图解决Java不允许多重继承.另外要明确我不是要声明Java是否应该允许多重继承.我只是在寻找为实现接口的类创建默认方法实现的最佳方法.