面向对象---接口

来源:互联网 发布:淘宝网应用 编辑:程序博客网 时间:2024/06/03 23:44

接口:

可以认为是一个特殊的抽象类

当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。

class用于定义类

interface用于定义接口


接口的特点:

1、接口是对外暴露的规则。

2、接口是程序的扩展功能。

3、接口可以用来多实现。

4、类与接口是实现关系,而且类可以继承一个类的同时实现多个接口。

5、接口与接口之间可以有继承关系。


接口定义时,格式特点:

1、接口中常见定义:常量,抽象方法。

2.接口中的成员都有固定修饰符。

常量的修饰符:public static final

方法的修饰符:public abstract

注意:接口中的成员都是public的。



public class Demo41 {public static void main(String[] args) {}}interface Inter{public static final int NUM=3;public abstract void show();}


接口:是不可以创建对象的,因为有抽象方法。

需要被子类实现,子类对接口中的抽象方法全都覆盖后,子类才可以实例化。否则子类是一个抽象类。

public class Demo41 {public static void main(String[] args) {Test t=new Test();System.out.println(t.NUM);System.out.println(Test.NUM);System.out.println(Inter.NUM);}}interface Inter{public static final int NUM=3;public abstract void show();}class Test implements Inter{public void show(){}}
运行结果为:

3

3

3


接口可以被类多实现,也是对多继承不支持的装换形式,java支持多实现。

interface Inter{public static final int NUM=3;public abstract void show();}interface InterA{public abstract void method();}class Test implements Inter,InterA{//接口可以被类多实现public void show(){}public void method(){}}


接口只能继承一个类,但可以实现多个接口,并且继承和实现可以同时进行,如下程序示例:

interface Inter{public static final int NUM=3;public abstract void show();}interface InterA{public abstract void method();}class DemoA{public void function(){}}class Test extends DemoA implements Inter,InterA{//接口可以被类多实现public void show(){}public void method(){}}


关系:

类与类之间是继承关系(extends)

接口与类之间是实现关系(implements)

接口与接口之间是继承关系(extends)


注意:类是不能实现多继承的,然而接口是可以实现多继承的。

interface Inter{public static final int NUM=3;public abstract void show();}interface InterA{public abstract void method();}interface InterB extends Inter,InterA{public abstract void idea();}