《深入理解java虚拟机》这本书中 解析类方法的过程中提到如下
原文语句:在类C实现的接口列表及它们的父接口之中递归查找是否有简单名称和描述符都与目标相匹配的方法,如果存在匹配的方法,说明类C是一个抽象类,这时候查找结束,抛出 java.lang.AbstractMethodError异常。
疑惑1:描述符匹配到了 他就是一个抽象类 为什么不可以是一个普通类
疑惑2:抛出异常的原因 是不是因为抽象类不可以被调用
别人都说了,在类C实现的接口以及他们的父接口递归查找,接口和父接口怎么是一个普通类呢?普通类可以被继承吗
关键其实不在这 其实我这个问题不太完整 完整的应该是在第三步的时候 如果C类的父类实现了接口 这个时候如果不是抽象类 是普通类的话 一定会实现父类的方法 这个时候就会立马返回结果了 不会去走第四步 如果走到了第四步 只有一种可能 即c类是个抽象类 可以不用实现父类接口的方法