【问题标题】:Instantiating a class does not work, constructor parameter is interface实例化一个类不起作用,构造函数参数是接口
【发布时间】:2016-12-23 11:55:48
【问题描述】:

我试图创建一个实现接口的类的实例,但问题是构造函数接受了一个接口本身的参数。

信息:我不想自己实现接口、类或功能,因为库EJML已经实现了,我只想使用类和功能。

    public class myMatrixFactory{
        public void do(){
            //Does not work because LinearSolver_B64_to_D64() needs a interface as parameter
            // parameter is LinearSolver<BlockMatrix64F> which is an interface
            LinearSolver_B64_to_D64 ls = new LinearSolver_B64_to_D64(????);
        }
    }

【问题讨论】:

标签: java interface ejml


【解决方案1】:

您必须创建一个实现所需接口的类的对象并将其传递给构造函数。

根据您提供的链接,您需要一个 LinearSolver&lt;BlockMatrix64F&gt; 类型的对象,因此您应该查看此类 javadoc 并选择其中一个实现类。

【讨论】:

  • 我会说应该使用LinearSolverFactory
  • 帮了我很多,也参考手册让一切都清楚了!
猜你喜欢
  • 2018-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多