我是一个初学者Java学习者,我一直在努力跟随欧拉项目。
我找到了Nayuki解决问题的方法,我很难理解这个界面的需要/目的。英语不是我的第一语言,所以我有点困惑这个界面的评论到底是什么意思:
// This forces every solution class to implement a common interface,
// which is helpful for unit testing like in the EulerTest implementation.
public interface EulerSolution {
public String run();
}
据我所知,这意味着我可以运行接口,同时运行所有类,而不是逐个运行每个问题类?所以我不一定需要这个接口来解决问题,它只是一种实用的方法来检查它们是否都按预期的方式工作。
我知道编程非常抽象,但我已经为此挣扎了几周。也许,如果我能最终掌握界面在幕后到底在做什么,我就能更容易地理解界面、它们的功能,以及它们如何“适应”整个程序及其类。
非常感谢您的帮助!
接口告诉你某件事可以做什么。任何实现接口的类都定义了任务的完成方式。每个EulerSolution
都可以run()
。您的EulerSolution
的实现将按照您定义的方式工作,独立于其他实现。您可以写:
public class SolutionA implements IEulerSolution
{
public String run()
{
return "Hello!";
}
}
另一种实现方式可以是:
public class SolutionB implements IEulerSolution
{
public String run()
{
return "Goodbye!";
}
}
为什么这很有帮助?它允许你做这样的事情:
public class ShowSolutions
{
public static void main(String args[])
{
IEulerSolution foo = new SolutionA();
IEulerSolution bar = new SolutionB();
System.out.println(foo.run());
System out.println(bar.run());
//displays:
// Hello!
// Goodbye!
}
}
如果您想测试一个新的实现,您所需要做的就是将SolutionA
或SolutionB
更改为上面代码中的类的名称。如果您可以访问EulerTest
,请查看它是否执行了类似的操作,以便使用您的解决方案。
这不是关于同时运行所有的类,而是关于确保你可以以同样的方式运行所有的类。通过让每个解决方案类实现这个接口,它确保它们都是一个返回String
的run()
方法。
我是一个初学者Java学习者,我一直在努力跟随欧拉项目。 我找到了Nayuki对这些问题的解决方案,我很难理解这里接口的需求/用途。英语不是我的第一语言,所以我有点困惑,这里的界面评论到底是什么意思: 据我所知,这意味着我可以运行接口,同时运行所有类,而不是逐个运行每个问题类?所以我不一定需要这个接口来解决问题,它只是一种实用的方法来检查它们是否都按预期的方式工作。 我知道编程是非常抽象的,但是我
本文向大家介绍深入理解Java中的接口,包括了深入理解Java中的接口的使用技巧和注意事项,需要的朋友参考一下 一. 为什么要使用接口 假如有一个需求:要求实现防盗门的功能。门有"开"和"关"的功能,锁有"上锁"和"开锁"的功能。 分析:首先防盗门是一个门,门有开门和关门的功能,还有一把锁,锁有开锁和上锁,按照面向对象的编程的思想,我们会将门和锁都作为一个类而单独存在,但是,不能让防盗门继承自门的
我试着看http://ocw.mit.edu/courses/electrice-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-videos/lecture-4-heaps-and-heap-sort/来理解堆和堆排序,但没有发现这一点。 我不明白max-heapify的功能。
本文向大家介绍深入理解Java的接口与抽象类,包括了深入理解Java的接口与抽象类的使用技巧和注意事项,需要的朋友参考一下 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本
本文向大家介绍Java的接口和抽象类深入理解,包括了Java的接口和抽象类深入理解的使用技巧和注意事项,需要的朋友参考一下 Java的接口和抽象类深入理解 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Ja
你们都知道我们工程师晚上工作最好:)昨天晚上我在学习lambdas,我看到了一段这样的代码,