2015-04-06 49 views
1

我有一個名爲rmi_prg的包。我在那個名爲Adder中有一個公共接口。文件Adder.java的代碼如下:我無法實現java中的相同包的接口

package rmi_prg; 
import java.rmi.*; 
public interface Adder extends Remote 
{ 
public int add(int x,int y)throws RemoteException; 
} 

我有一個名爲remoteadder.java同一文件夾rmi_prg另一個文件。該文件的代碼如下:

package rmi_prg; 
import java.rmi.*; 
import java.rmi.server.*; 

public class remoteadder extends UnicastRemoteObject implements Adder 
{ 
remoteadder() throws RemoteException 
{ 
super(); 
} 

public int add(int x,int y) 
{ 
    return x+y; 
} 

} 

當我編譯Adder.java時,它被編譯。但是,當我試圖編譯remoteadder.java文件,我收到以下錯誤:

remoteadder.java:4: error: cannot find symbol public class remoteadder implements Adder{ ^ symbol: class Adder 1 error

我從目錄rmi_prg編譯兩個文件。任何人都可以請幫我解決這個問題嗎?

謝謝:)

+0

檢查以確保文件在您的項目體系結構的正確目錄中 –

+0

這兩個文件都位於名爲rmi_prg –

回答

2

我相信你是從rmi_prg目錄中運行javac,因此你的classpath被打破。

轉到rmi_prg的父目錄,然後運行:

javac rmi_prg\Adder.java 

然後

javac rmi_prg\remoteadder.java 

題外話:考慮你的資本類名遵循Java命名約定。

+0

的目錄是的。有效。非常感謝。但我沒有得到這個邏輯。 :(我一定會按照命名約定:) –

+1

我推薦使用Eclipse這樣的IDE,所以你不必手動編譯每個類。 – Clashsoft