重用Java方法的最佳方法
我正在学习Java和OOP,并且一直在为练习做这些问题(顺便说一句,很棒的网站) 我发现自己一遍又一遍地做着同样的事情,比如:重用Java方法的最佳方法,java,code-reuse,Java,Code Reuse,我正在学习Java和OOP,并且一直在为练习做这些问题(顺便说一句,很棒的网站) 我发现自己一遍又一遍地做着同样的事情,比如: 检查整数是否为素数/生成素数 斐波那契级数的生成 检查数字是否为回文 存储和调用这些方法的最佳方式是什么?我应该编写一个实用程序类,然后导入它吗?如果是,我是导入.class文件还是导入.java源代码?我使用的是纯文本编辑器和Mac终端 谢谢 您可以将方法放入实用程序类,然后导入该类(而不是文件!) 当事情变得越来越复杂,并且您希望在多个项目中重用您的东西时,您可
- 检查整数是否为素数/生成素数
- 斐波那契级数的生成
- 检查数字是否为回文
.class
文件还是导入.java
源代码?我使用的是纯文本编辑器和Mac终端
谢谢 您可以将方法放入实用程序类,然后导入该类(而不是文件!)
当事情变得越来越复杂,并且您希望在多个项目中重用您的东西时,您可以将其放入一个jar中,并将该jar添加到项目中。然后,您可以导入并以与上面相同的方式使用该类。为什么不创建一个文件,一个您自己的常用组件库呢?如果您编译java代码,只需在类路径中包含实用程序归档。实用程序类的想法很好,但它也为您提供了练习的机会。对于新的Euler问题,请在
实用类中创建一个空方法,您将在其中解决该问题。然后让一堆人使用这个新方法,并相信它是正确的。测试将全部失败(或者应该失败,因为您还没有编写解决方案!)
现在解决Euler问题并观察测试通过!如果您希望以后重用代码,单元测试将在重构过程中保持正确,并为您可能发现的错误提供一个添加回归案例的地方。创建一个包含答案的目录树。my/math/*.java。您应该为类指定包my.math。为不同的问题集创建不同的类;Primes.java、Fibonacci.java等。如果您已经解决了一次问题,不要再解决它,除非您的解决方案被破坏
将my/math上面的目录添加到类路径(java-cp目录)或jar目录中,并将其添加到类路径中
像这样的库是一个成功项目的生命线。创建和使用解决方案库(该语言还没有库)可以解决许多项目问题。尽可能使用可用的库 对于euler和ide,不使用ide的java编码是学习语言的好方法。但是,请不要认为在进行大规模Java项目时可以继续这样做。my.Usage.UtilityClass
指的是文件my.Usage.UtilityClass.class
,否,与类路径相关的my/usive/UtilityClass.class
文件:)如果您得到了很多这样的东西并以一致的方式命名它们,那么使用静态导入()通常比一遍又一遍地使用UtilityClass来编写代码要容易得多。
。
import my.useful.UtilityClass;
...
boolean isPrime = UtilityClass.isPrime(2);