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

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条)

报告相同问题?

悬赏问题

  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题