java中接口类型接收任意类型的对象实例

  1. 先挂起测试代码
public class Demo1_1 {

  public static Demo1_1 create(Class clazz){
      return new Demo1_1();
  }

  public Demo1_1 create(){
    return new Demo1_1();
  }

  public static Demo1_1 create2(){
    return new Demo1_1();
  }
}
public class Demo1 {
  private interface  inner{
  }
  public static void main(String[] args) {
    Demo1_1 demo1_1=new Demo1_1();
    inner instance=(inner) Demo1_1.create(inner.class);
  }

}

发现这这个代码编译居然没有报错(运行起来肯定是报错了)。

然后,将第一段代码中的内部接口(接口是内部类还是外部类没啥关系)换成class。如下图所示:

java中接口类型接收任意类型的对象实例

编译终于报错了。

2. 原来,在java中类是单继承的,而接口是多继承的。编译器是无法判断对象是否实现了某个接口,但是知道继承了哪个类。

 

 

 

 

 

上一篇:锁——synchronized


下一篇:export default 与 export 区别