iteye_19391 2011-09-15 12:23
浏览 375
已采纳

NoSuchMethodException和NoSuchMethodError的区别

各位帮忙说说这两者的区别。我先简单说说,就当抛砖引玉了。
NoSuchMethodException继承自Exception
NoSuchMethodError继承自Error 一般有兼容性问题时会抛出该异常

  • 写回答

5条回答 默认 最新

  • _1_1_7_ 2011-09-16 09:31
    关注

    java反射时NoSuchMethodException
    [code="java"]
    import java.lang.reflect.Method;

    public class NoSuchTest {

    /**
     * @param args
     */
    public static void main(String[] args) throws Exception {
        Class<String> clazz = String.class;
        Method m = clazz.getMethod("Boring");
        m.invoke("");
    }
    

    }
    [/code]
    如果A类原来有a方法,B类调用是没问题的;如果后来A类更改了方法签名,旧的B类代码又没有同步更新就好抛NoSuchMethodError

    这就是“仅当类定义发生不相容的更改时,在运行时才会发生该错误。 ”

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?