【发布时间】:2017-12-03 12:12:39
【问题描述】:
我正在尝试理解以下代码并且有点困惑。经过一番谷歌搜索,我在 OOP 中找到了 Anonymus Classes。但是无法理解为什么在这段代码中他们声明了 Sorting 对象并使用 sorting = new MergeSort(); 调用 MergeSort 的实例?谁能给我解释一下?
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
}
【问题讨论】:
-
这个问题已经被问过很多次了..
标签: java