通常,此java.lang.AbstractMethodError。在调用抽象方法时抛出。 通常,如果此错误在编译时被识别并在运行时抛出,则必须更改类不兼容与以前存在的类不兼容)。 因此,这是IncompatibleClassChange Error的子类。 我知道不能调用抽象方法。 既然这样做会导致编译时错误,那么你认为在运行时如何抛出这个错误?
原因是二进制不兼容-这是什么意思? 每当类发生更改时,引用该已更改)类的其他类都不会识别该更改。 因此,所有类都必须作为一个整体进行编译。 否则,可能会遇到不兼容的类更改错误的子类之一。 3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com /关于此错误的信息classb {公共vom } publicclassaextendsb { publicstaticvoidmain string args [ ] ) {A a=new A ); a .显示; }}
c :\blogjava ca.javac :\blogjavaaiaminsideb现在,将“方法转换为抽象方法并单独编译。
abstract classb { publicabstractvoiddisplay ; } 此错误表明您调用的方法现在已转换为抽象方法”。
c :\blogjava ca.javac :\blogjavaaiaminsidebc :\blogjava CB.javac : 虽然进行了bogjavaaexceptioninthread ‘ main ‘ Java.lang.abstractmethoderror : b.display vata.display ) a.Java:3 ) at 因此,将方法转换为分布式类中的抽象方法不是一个好习惯。 在APP应用程序中使用第三方库时,通常会发生此类错误。 如果在编译时未显示此错误,则即使作为整体进行编译,也必须检查库设置和类路径设置。 因为编译器通常在系统库如引导库和扩展库)中也在当前目录中搜索类,而JVM则在指定的类路径中搜索类。 如果错误地将旧版本放入系统库,并将新版本放入类路径中,则编译整个包不会收到有关此错误的通知。 因此,请确保删除了与旧包相关的设置。 33558www.Sina.com/Java错误和异常博客的JCG合作伙伴Ganesh Bhuddhan提供的java.lang.AbstractMethodError。 来自3:https://www.Java code geeks.com/2012/08/exception-Java-lang-abstractmethoderror.html的翻译