我有一個關於將一個java程序拆分爲多個程序的問題。如何將單個java程序拆分爲多個java程序?
假設我有一個計算器程序,它具有添加,減除,乘法,除法和尋找模數除法的功能。 我想將這個冗長的程序劃分/分割成子程序,比如add.java加法,減法的sub.java,乘法的mul.java,等等。
我該如何拆分它,並相互鏈接?
我有一個關於將一個java程序拆分爲多個程序的問題。如何將單個java程序拆分爲多個java程序?
假設我有一個計算器程序,它具有添加,減除,乘法,除法和尋找模數除法的功能。 我想將這個冗長的程序劃分/分割成子程序,比如add.java加法,減法的sub.java,乘法的mul.java,等等。
我該如何拆分它,並相互鏈接?
您可以將add,sub等分割爲不同的文件。但請注意,.java
文件名必須與類名相匹配。例如,如果將拆分添加到add.java
,然後在add.java
中,您必須有一個名爲add
的類。
之後,每個.java
文件將被編譯爲.class
文件。當您運行,你只需要所有.class
文件喂到Java,這樣的:
java Calc.class sub.class add.class
您也可以打包所有的.class文件到一個.jar文件。然後,當你運行:
java Calc.jar
而且,我們如何連接所有這些? –
這不是如何的問題,而是你是否應該。 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文件都被認爲是一個'包',這是默認包。如果你要宣佈自己的軟件包,那麼這將是一個不同的問題。
在我看來,你真正的問題是你不瞭解Java和麪向對象設計(OOD)的基礎知識。你只是把所有的代碼都放到了一個類中,可能在所有地方都使用了static
方法和變量。 (你說的是分裂成子程序,這有點讓人費解。)
Oracle Java教程(或任何好的Java教科書)將解釋什麼是類,以及如何編寫,編譯並運行一個包含多個類的程序。
將現有的整體課程拆分成更小的組件比較困難,因爲沒有單一的「正確方法」來做到這一點。(如果你瞭解OOD,那對你來說顯然是顯而易見的......)
我建議你先閱讀一些關於OOD的東西。這應該會讓你對應用程序的設計和結構應該是的樣子有所瞭解。一旦你理解了OOD,閱讀一本關於Java設計模式的書也會有所幫助。但是,您需要了解設計模式的OOD才能讓您感覺合理。
如何在分割後使用它? –
聽起來就像你想創建一個有多個類的程序。也許[這篇文章](http://cephisystems.com/java-article-13-using-multiple-classes-part-1/)將有助於... – jahroy
一把斧頭或一把劈刀。 –