37-接口interface
接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来。
在Jdk7.0前接口里的所有方法都没有方法体,即都是抽象方法。
Jdk8.0后接口可以有静态方法,默认方法,也就是说接口中可以有方法的具体实现
interface 接口名 {
 属性
 方法 (1.抽象方法 2.默认方法default 3.静态方法)
}
class 类名 implements 接口名 {
    自己属性
    自己方法
    实现的接口的抽象方法
}
注意事项和细节
1)接口不能被实例化
2)接口中所有的方法是public方法,接口中抽象方法,可以不用abstract修饰
3)一个普通类实现接口,就必须将该接口的所有方法都实现。
4)抽象类实现接口,可以不用实现接口的方法。
5)一个类同时可以实现多个接口
6)接口中的属性,只能是final的,而且是public static final修饰符。比如:int a=1;实际上是public static final int a= 1; (必须初始化)
7)接口中属性的访问形式接口名.属性名
8)一个接口不能继承其它的类,但是可以继承多个别的接口[举例]interface A extends B,C{}
9)接口的修饰符只能是public和默认,这点和类的修饰符是一样的。
可以用类实现接口,implements

爆红说明需要重写接口中定义的方法

类可以实现多个接口中的方法
implements多继承(继承多个接口interface)
extends是单继承(继承单个类class或单个抽象类abstract class)

实现接口vs继承类
- 
接口和继承解决的问题不同 
 继承的价值主要在于:解决代码的复用性和可维护性。
 接口的价值主要在于:设计,设计好各种规范(方法),让其它类去实现这些方法。即更加的灵活
- 
接口比继承更加灵活 
 接口比继承更加灵活,继承是满足is - a的关系,而接口只需满足like - a的关系
- 
接口在一定程度上实现代码解耦 
接口多态传递
如果B接口继承了A接口,
而Teacher 类实现了B接口
那么,实际上就相当于Teacher 类也实现了A接口。
这就是所谓的接口多态多态传递现象
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号