接口类是否继承自Object?

结论:是的。

从两个方面来验证。

首先定义一个接口类,如下:

package com.zcw.learning;

/**
* @Author : zcw
* @Date : Create in 2020/9/13
* @Description
* @Version : 1.0
*/
public interface I {

}

1. 从编写代码时ide的提示来看

 

 

 如上图所示,定义的I接口没有任何方法,但在ide的提示中却包含了clone、equals等Object类的方法,故而可以说明I接口是继承于Object类的

2. 从编译后的字节码来看

使用这个方法验证应该是最权威的方法了

使用javap -verbose I.class反编译生成的.class文件可以看到如下内容

 

根据class文件格式可知,#1表示的是本类的符号引用索引,指向#5;#2表示的是超类的符号引用,指向#6为java/lang/Object。至此可以很清晰的得知Object类同样是接口的超类。

 

posted @ 2021-01-07 16:09  不吃陈皮  阅读(843)  评论(0编辑  收藏  举报