无法编译由接口类实现的java类
我无法通过CMD编译由接口实现的类。 但它适用于任何JavaIDE。 有什么建议吗? 多谢各位 这些是代码无法编译由接口类实现的java类,java,interface,Java,Interface,我无法通过CMD编译由接口实现的类。 但它适用于任何JavaIDE。 有什么建议吗? 多谢各位 这些是代码 //Interface (MyInterface.java) public interface MyInterface{ public int add(int a, int b); } //(MyInterfaceImpl.java) public class MyInterfaceImpl implements MyInterface { public int
//Interface (MyInterface.java)
public interface MyInterface{
public int add(int a, int b);
}
//(MyInterfaceImpl.java)
public class MyInterfaceImpl implements MyInterface {
public int add(int a, int b){
return a + b;
}
}
这里有一个尾随
e
javac MyInterfaceImple.java
^
但不是在这里
//(MyInterfaceImpl.java)
这可能是个问题
此外,如果接口/类驻留在包中,这可能是一个问题。如果是,请包括
包
行和目录结构
我的机器一切正常。下面是一个演示:
aioobe@e6510:~/tmp/java$ cat -> MyInterface.java
//Interface (MyInterface.java)
public interface MyInterface{
public int add(int a, int b);
}
aioobe@e6510:~/tmp/java$ cat -> MyInterfaceImpl.java
//(MyInterfaceImpl.java)
public class MyInterfaceImpl implements MyInterface {
public int add(int a, int b){
return a + b;
}
}
aioobe@e6510:~/tmp/java$
aioobe@e6510:~/tmp/java$ ls
MyInterfaceImpl.java MyInterface.java
aioobe@e6510:~/tmp/java$ javac MyInterface.java
aioobe@e6510:~/tmp/java$ javac MyInterfaceImpl.java
看起来您的接口类的物理名称为MyInterfaceImple.java,但您的代码将其称为
MyInterfaceImpl
-(不带e)
代码中使用的名称需要与物理文件匹配。还要检查这两个类是否都在您的类路径中。@Mikaveli:“e”是一个错误,对此表示抱歉。事实就是这样。我为我的一个作业做了一个RMI和RPC应用程序,效果很好。大约两个月后(昨天),我又为了另一个目的运行了它。RMI不起作用。在我发现错误是由接口引起的之后。我只是创建了一个演示并运行了它。错误仍然存在。但使用IDE(Netbeanse或其他)它又能工作了。在linux中,它工作得很好。原始程序有一个目录结构,它使用.bat或.sh运行。这就是为什么我在这里放了一个示例代码。@sura。别担心。如果你接受一些老问题的答案,大多数人不会投你反对票。我不明白。真正地你能告诉我如何接受这些吗,如果我want@Mikavel我找到了。非常感谢。@sura2k,如果您有目录结构和软件包,您应该在问题描述中包含这些内容。@Nanne:非常感谢。我不知道。我得到了它。谢谢@纳恩:没有谎言。现在我明白了
aioobe@e6510:~/tmp/java$ cat -> MyInterface.java
//Interface (MyInterface.java)
public interface MyInterface{
public int add(int a, int b);
}
aioobe@e6510:~/tmp/java$ cat -> MyInterfaceImpl.java
//(MyInterfaceImpl.java)
public class MyInterfaceImpl implements MyInterface {
public int add(int a, int b){
return a + b;
}
}
aioobe@e6510:~/tmp/java$
aioobe@e6510:~/tmp/java$ ls
MyInterfaceImpl.java MyInterface.java
aioobe@e6510:~/tmp/java$ javac MyInterface.java
aioobe@e6510:~/tmp/java$ javac MyInterfaceImpl.java