【问题标题】:Java: Import at run-timeJava:在运行时导入
【发布时间】:2018-11-30 02:47:52
【问题描述】:

我正在尝试为课程中使用的类制作数据结构可视化库。 我希望学生将它们导入他们的代码并在他们编辑集合类时使用它们。 我知道他们将要使用的课程的名称,但实施可能与学生不同。

public class SLLVisualizer extends JFrame {
public SLLVisualizer(SLL<T> sll) {
}   
}

上面是我正在尝试制作的构造函数。但由于未知的 SLL 类型,它给了我语法错误

【问题讨论】:

  • 看来您需要一个您的学生实现的界面。你知道,一个定义contract的接口,即方法,你的学生类必须实现。
  • 那么您是否有一个名为SLL 的接口供学生实现?你能通过导入那个接口来编译吗?

标签: java generics data-structures visualization


【解决方案1】:

问题似乎是 SSL 类不知道您要分配什么类型的 SSL。 SSL 是一个通用类。试试这个:

public class SSLVisualizer extends jFrame {
    public SSLVisualizer (SSL<String> ssl) {

    }
}

如果您希望能够放入任何数据类型的 SSL,那么试试这个:

public class SSLVisualizer extends jFrame {
    public SSLVisualizer (SSL<?> ssl) {

    }
}

问号是一个通配符,你可以扩展它来限制你可以分配给类的数据类型的数量。

您还可以为您的班级分配特定的数据类型,如下所示:

public class SSLVisualizer<E> extends jFrame {
    public SSLVisualizer (SSL<E> ssl) {

    }
}

【讨论】:

    猜你喜欢
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-22
    • 1970-01-01
    • 2016-09-08
    • 1970-01-01
    • 2021-10-20
    相关资源
    最近更新 更多