关于接口的使用:1匿名内部类回调以,2新建一个实现类,返回这个接口

比如:定义一个会接口 会游泳 swimable,实现类Fish。
第一种:
Swimable a = new Swimable() {
         @Override 
         public void swim() {
                System.out.println("会游泳)
          }
 };
  

第二种:Swimable a = new Fish() ;

第一种是直接new一个接口,第二个是用一个接口类型变量来接收一对象,这两者的原理都是什么呢?可以直接new接口?还有这两者有什么区别啊?
 

第一种是声明并创建了一个匿名内部类及其对象,该类实现了 swimable接口,第二种是面向接口的编程方式,方便程序以后的修改与扩展。没有接口对象一说,只有实现接口的类及其实例对象。

猜你喜欢

转载自blog.csdn.net/Handsome2013/article/details/81506343