接口
- 接口不是is a的关系,而是具有相同的特征。
- 一个类可以实现多个接口,类与接口有实现关系,弥补了单继承的缺陷。
- 接口与接口之间有继承关系,而且可以多继承。
- 接口可以看作一种规范!!!!
接口的使用:
JDK7及以前:只能定义全局常量和抽象方法
- 全局常量:public static final的 ,省略之后也可以
- 抽象方法:public abstract 的,省略之后也可以
JKD8:除了定义全局常量和抽象方法,还可以定义静态方法,默认方法
- 接口中的静态方法只能用接口来调用 (接口名.静态方法)
- 当实现类没有重写接口中的默认方法时,通过实现类的对象(对象.默认方法),可以调用接口中的默认方法;
- 但是如果实现类重写了该接口的默认方法,调用时(对象.默认方法),调用的就是实现类重写的默认方法
- 在接口中的默认方法被实现类重写了之后,若我想调用接口中的默认方法,可以这样来调:接口名.super.默认方法
- 接口冲突和类优先原则
四种方法创建接口的实现类( 跟抽象类差不多)
interface USB{
      void start();
      void stop();
}
class  Phone implememts USB{
      重写start();
      重写stop();
    
}
1.创建接口的非匿名实现类的非匿名对象
Phone phone = new Phone();
2.创建接口的非匿名实现类的匿名对象
new Phone();
3.创建接口的匿名实现类的非匿名对象
USB phone = new USB(){
     重写start();
     重写stop();  
};
4.创建接口的匿名实现类的匿名对象
new USB(){
     重写start();
     重写stop();  
};
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号