对接口的理解:
接口的本质是一种规范,一种标准,这种标准可以在不同的地方由不同的类去实现,被实现的标准可以体现出不同的行为。
接口的声明:
格式:权限修饰符+interface+接口名
在jdk5.0之前接口中只能声明全局变量和抽象方法,在jdk5.0的时候在接口中可以声明静态方法【使用static修饰】和默认方法【使用default修饰】
接口的实现:
由于接口中存在抽象方法,因此要想实现一个接口,就必须去重写接口中所有的抽象方法。
在实现接口时,需要用到一个关键字【implement】,即创建一个类implement被实现的接口,并在实现接口的类中重写接口中的抽象方法。
这里以上图中的接口为例
这里使用了类Pirnter去实现了接口Usb,那么类Printer就具有了Usb这个接口所定义的规范,类Printer也称为类Usb的实现类,因为类Printer重写了类Usb中所有的抽象方法。
接口的特点:
1,在接口中声明的方法,若没有其他的声明则默认使用public abstract 修饰。
2,接口描述了一种能力,代表着一种规则,即要想实现接口,拥有接口中声明的能力,就必须去 遵守接口所定义的规则,去实现接口中的抽象方法。
3,接口可以多继承。
4,接口中没有构造器,也无法声明构造器。
接口的作用:
类对于接口的多实现在一定程度上弥补了类单继承的局限性,提高了扩展性。
接口与抽象类的区别:
接口实现类的对象的创建:
1.创建接口实现类的对象(以上图为例)
2.创建接口匿名实现类的对象
3.创建匿名实现类的匿名对象
接口对象的创建,体现了接口也具有多态性【接口的引用指向接口实现类的对象,与父类的引用指向子类的对象类似】,符合虚拟方法调用。