Work
2 つの抽象メソッド (init
およびwork
) と、抽象メソッドで動作する 1 つの具象メソッド ( )を持つ抽象クラスがあり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 インターフェースでは本体を含めることはできません。では、抽象クラスをインターフェイスに変換した後、ジェネリック データとメソッドをどこに置く必要があるのでしょうか。
具体的なことを共有したい限り、多重継承の問題を取り除くことはできないのではないかと心配しています。これは正しいですか?