私は次のコードを理解しようとしていて、少し混乱しています。いくつかのグーグルの後、私はOOPでAnonymus Classesを見つけました。しかし、なぜこのコードでオブジェクトのソートを宣言し、MergeSortのインスタンスをsorting = new MergeSort();
と呼んでいるのか理解できませんか?誰かが私に説明することはできますか?どうすれば可能ですか?Javaでインタフェースのインスタンスを作成しますか?
interface Sorting {
List sort(List list);
}
class MergeSort implements Sorting {
public List sort(List list) {
// sort implementation
return list;
}
}
class QuickSort implements Sorting {
public List sort(List list) {
// sort implementation
return list;
}
}
class DynamicDataSet {
Sorting sorting;
public DynamicDataSet() {
sorting = new MergeSort();
}
// DynamicDataSet implementation
}
class SnapshotDataSet {
Sorting sorting;
public SnapshotDataSet() {
sorting = new QuickSort();
}
// SnapshotDataSet implementation
}
この質問は何度も尋ねられています.. – user3437460