java面向对象之接口

205 阅读2分钟

对接口的理解:

接口的本质是一种规范,一种标准,这种标准可以在不同的地方由不同的类去实现,被实现的标准可以体现出不同的行为。

接口的声明:

格式:权限修饰符+interface+接口名

在jdk5.0之前接口中只能声明全局变量和抽象方法,在jdk5.0的时候在接口中可以声明静态方法【使用static修饰】和默认方法【使用default修饰】

屏幕截图 2023-11-06 160929.png

接口的实现: 

由于接口中存在抽象方法,因此要想实现一个接口,就必须去重写接口中所有的抽象方法。

在实现接口时,需要用到一个关键字【implement】,即创建一个类implement被实现的接口,并在实现接口的类中重写接口中的抽象方法。

这里以上图中的接口为例

屏幕截图 2023-11-06 162522.png

这里使用了类Pirnter去实现了接口Usb,那么类Printer就具有了Usb这个接口所定义的规范,类Printer也称为类Usb的实现类,因为类Printer重写了类Usb中所有的抽象方法。

接口的特点:

1,在接口中声明的方法,若没有其他的声明则默认使用public abstract final修饰。

2,接口描述了一种能力,代表着一种规则,即要想实现接口,拥有接口中声明的能力,就必须去        遵守接口所定义的规则,去实现接口中的抽象方法。

3,接口可以多继承。

屏幕截图 2023-11-06 164425.png

4,接口中没有构造器,也无法声明构造器。

屏幕截图 2023-11-06 164708.png

屏幕截图 2023-11-06 164717.png

接口的作用:

类对于接口的多实现在一定程度上弥补了类单继承的局限性,提高了扩展性。

接口与抽象类的区别:

屏幕截图 2023-11-02 183606.png

接口实现类的对象的创建:

屏幕截图 2023-11-06 162522.png

屏幕截图 2023-11-06 160929.png

1.创建接口实现类的对象(以上图为例)

屏幕截图 2023-11-06 170418.png

2.创建接口匿名实现类的对象

屏幕截图 2023-11-06 170832.png

3.创建匿名实现类的匿名对象

屏幕截图 2023-11-06 170900.png

接口对象的创建,体现了接口也具有多态性【接口的引用指向接口实现类的对象,与父类的引用指向子类的对象类似】,符合虚拟方法调用。