2015-11-01 55 views
0

我試着從終端編譯一個擴展父類的java類,我注意到當父子都在同一個目錄中時,一切正常精細。但是當父母和孩子進入兩個不同的目錄時該怎麼辦? 父類的編譯文件到該目錄:從終端編譯從另一個目錄擴展父項的Java文件

project/bin/com/app/Parent.class 

和Java孩子到目錄(要知道,Java文件不在src文件夾):

project/Child.java 

如何從終端將「Child.java」編譯到以下目錄中?

project/compiledClasses 

謝謝。

回答

0

你應該選擇-cp或-d嘗試。您需要指定父類路徑和「Child.java」的路徑。

0

你有沒有嘗試擴展/實施父爲孩子?您可以通過創建接口來輕鬆完成此操作。

enter image description here 來源:

你的選擇權現在是:1)遵循第二個圖。使實現一個接口。你可以通過將你的孩子類變成一個界面來做到這一點。稍微簡單的方法是通過2)將子類擴展到父類。

這樣,您就可以使用所有的方法,變量等的從子類,除非你將不得不對所有的硬代碼移到父類,只是實現的方法和

對於第一種方法,你會做這樣的事情把它變成一個接口:

public interface thisUsedToBeAClass{ 
iMustUseThisMethodInParentClass(); 
iMustUseThisVariableInParentClass(); 
} 

否則,如果你不希望所有的代碼移動到從接口的其他類,只需使用第一種方法通過擴展這兩個類。

祝你好運,

{Rich} 
+0

我現在的父類是一個抽象類。根據你的圖,我應該把父類變成一個接口,對吧? 但是你說要把孩子班變成一個界面,我有點困惑。以及這將如何幫助從終端進行編譯? – user5513205

+0

是的,但不應該相反?父接口和所有子接口應實現父接口。 擴展這兩個類是什麼意思?因爲我已經有了擴展父抽象類的孩子。那樣的話,我已經做到了。 – user5513205

+0

哦,是的,你是對的...我的錯誤。是的,孩子實施了家長。但總的來說,正如我所說的,接口可能很難做到。所以,我建議只擴展這兩個類的方法。這樣你就不必移動代碼。現在,在終端中,只需運行父類。 –

相關問題