java - 什么将参数传递给类似 ...(myClass.FINALOBJECT) 的方法?

标签 java object parameters java-8 instance

我是一名来自德国的学生,很抱歉可能语言不好。

我从讲师那里得到了 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 ();

有人可以解释一下这是如何工作的吗?尤其是 sToolperformExperiment 类应该从对象 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);
}

关于java - 什么将参数传递给类似 ...(myClass.FINALOBJECT) 的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53860168/

相关文章:

Java程序占用太多内存

JavaScript。如何创建一个循环来创建对象,然后将这些对象插入数组中?

parameters - 两个函数,还是一个具有不同参数的函数?

sqlite - 如何从 SQLite 中设置参数?

angular - 如何在 Angular @Input 中只接受预定义的值

java - j2ee服务层自动化测试用例

java - android中可以访问哪些设备信息

java - 将 opengl 纹理句柄从 Android Java 传递到 C++?

javascript - 渲染 react 组件时出错(对象而不是字符串)

java - 显示 Activity 中的对象