2013-03-30 33 views
-2

我有一个关于将一个java程序拆分为多个程序的问题。如何将单个java程序拆分为多个java程序?

假设我有一个计算器程序,它具有添加,减除,乘法,除法和寻找模数除法的功能。 我想将这个冗长的程序划分/分割成子程序,比如add.java加法,减法的sub.java,乘法的mul.java,等等。

我该如何拆分它,并相互链​​接?

+0

如何在分割后使用它? –

+0

听起来就像你想创建一个有多个类的程序。也许[这篇文章](http://cephisystems.com/java-article-13-using-multiple-classes-part-1/)将有助于... – jahroy

+3

一把斧头或一把劈刀。 –

回答

0

您可以将add,sub等分割为不同的文件。但请注意,.java文件名必须与类名相匹配。例如,如果将拆分添加到add.java,然后在add.java中,您必须有一个名为add的类。

之后,每个.java文件将被编译为.class文件。当您运行,你只需要所有.class文件喂到Java,这样的:

java Calc.class sub.class add.class 

您也可以打包所有的.class文件到一个.jar文件。然后,当你运行:

java Calc.jar 
+0

而且,我们如何连接所有这些? –

0

这不是如何的问题,而是你是否应该。 Java有一个非常强大的面向对象语言的优点,但它仍然有限制。

对于要添加的每个程序,您必须创建一个新的类文件和一个新类。你仍然需要一个主程序,比如Calculator.java,然后它必须实例化其他模块的版本。

Add adder = new Add(); 
Subtract subtracter = new Subtract(); 

等等。这将最终导致您花费比它的价值,特别是如果你不真的需要有似乎什么是一个简单的任务单独的模块更多的时间。

要回答如何做到这一点:

Calculator.java //The main program that will import the others. 
Add.java 
Modulo.java 
...etc 

假设所有这些文件都一起在一个文件夹,您在使用javac *.java,然后编译他们,如果Calculator.java是实例化的Add.java新版本如上所示,它会自动导入(如果这是您的主要问题要求)。

与C++或C不同,您不需要实际的导入语句。一个文件夹中的所有java文件都被认为是一个'包',这是默认包。如果你要宣布自己的软件包,那么这将是一个不同的问题。

3

在我看来,你真正的问题是你不了解Java和面向对象设计(OOD)的基础知识。你只是把所有的代码都放到了一个类中,可能在所有地方都使用了static方法和变量。 (你说的是分裂成子程序,这有点让人费解。)

Oracle Java教程(或任何好的Java教科书)将解释什么是类,以及如何编写,编译并运行一个包含多个类的程序。

将现有的整体课程拆分成更小的组件比较困难,因为没有单一的“正确方法”来做到这一点。(如果你了解OOD,那对你来说显然是显而易见的......)

我建议你先阅读一些关于OOD的东西。这应该会让你对应用程序的设计和结构应该是的样子有所了解。一旦你理解了OOD,阅读一本关于Java设计模式的书也会有所帮助。但是,您需要了解设计模式的OOD才能让您感觉合理。

相关问题