java – 什么将参数传递给像…(myClass.FINALOBJECT)这样的方法?

我是来自德国的学生,对不好的语言表示抱歉.

我从我的讲师那里学习了java基础知识并且在理解方面遇到了问题.
他已经告诉我们关于OOP的基础知识,所以我知道如何使用ClassX myObject = new ClassX()生成所需类的对象;和那样简单的东西.

但是现在在这个新练习中,我们必须创建一个可视化排序算法并分析复杂性的工具.通过告诉我们,讲师给了我们一些帮助来实现这个目标:

用户可以使用该工具的可能方式是:

SortingTool sTool = new SortingTool();
sTool.setInitData(10,false);
sTool.performExperiment(Algorithms.INSERTIONSORT);

我很确定他的意思是我们要创建一个名为Algorithms的类,并在其中构建一个类似于它的最终对象:

public class Algorithms {

      public final static Algorithms INSERTIONSORT = new Algorithms ();

有人可以解释一下这是如何工作的吗?特别是sTool的performExperiment -class应该从对象INSTERTIONSORT得到什么.

谢谢大家!

最佳答案 它可能是这样的

interface Algorithms {

  public static Algorithms INSERTION_SORT = new InsertionSort();         

  void sort(List<Integer> data);
}

public class InsertionSort implements Algorithms {
    public void sort(List<Integer> data) {
        // do insertion sort 
    }
}

并且sTool.performExperiment()应如下所示

performExperiment(Algorithms algo) {
    algo.sort(data);
}
点赞