我有一个Work
带有两个抽象方法(init
和work
)的抽象类和一个使用抽象方法的具体方法(run
)。
class work
{
abstract static class Work<T> implements Runnable
{
T data;
abstract protected void init ();
abstract protected void work ();
public void run ()
{
init();
work();
System.out.println (data);
}
}
public static void main (String[] args)
{
Runnable hello = new Work<String>() {
protected void init () { data = "Hello $1!"; }
protected void work () { data = data.replace ("$1", "World"); }
};
(new Thread(hello)).start();
}
}
为了摆脱多重继承问题,我想将抽象类转换为接口。但是在Java 接口中不能包含主体。那么在将抽象类转换为接口之后,我必须将泛型数据和方法放在哪里?
我担心只要我想分享任何具体的东西,就不可能摆脱多重继承问题。这是正确的吗?