私はインタフェースの2つの方法があります:引数としてメソッドを受信コールJavaでメソッドで引数2〜方法
public interface ISort
{
public void insertionSort(final String[] a);
public void selectionSort(final String[] a);
}
レッツ・コール・メソッドを、 - 方法B
まず、私は特定する必要がありますどのインタフェースメソッドが呼び出され、メソッドBの対応するインタフェースメソッドが呼び出されます。複雑さは、メソッドBの特定の機能にあります。メソッドBは、両方のインタフェースメソッドで完了します。つまり、必要なインターフェイスメソッド呼び出しをカプセル化する一時変数が必要です。すべてのインタフェースメソッドが実装されています。
public void runTest(ISort sort)
{
String[] list=stringsFromFile();
sort=sort.selectionSort(list);
if(sort.toString().equals("insertionSort")){
sort=sort.insertionSort(list);
}
sort(list)
}
この問題は明らかです。私はこの問題に直面して以来、私は一日中解決策を見つけるのに過ごしましたが、私は何も見つけられず、私は立ち往生していません。
は、なぜあなたはこのようにそれを行う必要があるのですか? –
'sort = sort.insertionSort(list);'これが 'ISort'でどのように宣言されているのか分かりません。これは 'void'メソッドです。それはあまり明確ではありません。 – davidxxx
sort.toStringを使用する場合、 "insertionSort"と同じ方法はありません。 – Christian