Java 奇怪的异常,JDK 6.0.29错误?

Java 奇怪的异常,JDK 6.0.29错误?,java,exception,Java,Exception,正在试验接口继承,发现以下问题: interface String{} interface Object{} interface Exception{} interface Integer extends String, Object, Exception{} public class Test implements Integer{ public static void main(String[] args) { System.out.println("Test");

正在试验接口继承,发现以下问题:

interface String{}
interface Object{}
interface Exception{}
interface Integer extends String, Object, Exception{}

public class Test implements Integer{
    public static void main(String[] args) {
        System.out.println("Test");
    }
}

它正在编译,但在运行时抛出
“main”java.lang.NoSuchMethodError:main

这是因为主方法签名应该是:

 public static void main(java.lang.String[] args) {
如果你写信

 public static void main(String[] args) {

它获取字符串接口的数组,因此签名是不同的

如果您推荐了不合适的
字符串
接口,
测试
类尝试扩展
java.lang.String
,这是最后一个类。你不能扩展它。要求像Integer这样的接口扩展一个类而不是另一个接口会导致编译器错误


我看不出这个实验有什么教育意义。所有这些都不应该进入真正的代码。

您是如何执行它的?你和Test.class在同一个目录下吗?问题是,即使我注释掉字符串接口,问题仍然存在,你不需要注释字符串接口;只需像我上面所做的那样键入main方法(使用显式java.lang.String),它就会成功编译并运行。但是,正如duffymo所建议的,这个示例并没有生成任何有用的知识;看看这个问题:了解接口继承的可能用法