可能没有有接触过这方面知识点的同学,听到接口会问这是什么?其实也是很好解释解释,接口就是一个公共规范,我定义了一个接口,如果你想用就必须要遵守我的规范,不然就用不了。例如usb线的两端就是两个接口。
java中的接口也是同理,就是一个公共规范,要用我就必须遵守我的规则(重写接口定义的方法)。接口在Java中是一种引用类型,它里面最重要的就是基本的抽象方法(接口只是定义方法,并不实现方法的方法体,需要实现类来实现接口中方法)。
一 创建接口
接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么 接口的内部主要就是封装了方法 接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。
接口的格式:
public insterface 接口名称(){接口内容}
二 接口内容可以有些什么?
java中接口的内容跟它的一个版本有关系,不过所有的java版本都可以定义抽象方法(基本内容)。
在Java1.7中接口可以包含常量和抽象方法。
在Java1.8中接口可以包含默认方法,静态方法,常量,抽象方法。
在java1.9中接口可以额外的包含私有方法。
……
本文将以java1.8为基础进行讲解接口的基础性知识。
三 接口中的方法
1.抽象方法
接口的抽象方法定义需按照一定的格式如:
public abstract 返回值类型 方法名(参数列表);
注意:接口中的抽象方法.修饰符必须是固定的关键字:public abstract。但这两个关键字修饰符可以选择省略(方法三要素,根据业务进行选择),实现时必须全部实现。
2.默认方法
接口中的默认方法可以解决接口升级时的问题,可以选择继承或者重写但只能通过实现类的对象来调用。
格式:public default 返回值类型 方法名(参数列表){方法体};
3.静态方法
静态与.class 文件相关,只能使用接口名调用,不可以通过实现类的类名或者实现类的对象调用。
格式:public static 返回值类型 方法名(参数列表){方法体};
注意不能使用实现类的对象来调用静态方法。正确的调用应该是:接口名称.静态方法。
注意: 子接口重写默认方法时,default关键字可以保留。
子类重写默认方法时,default关键字不可以保留。
四 接口的使用
接口的使用,它不能创建对象,但是可以被实现( implements ,类似于被继承)。一个实现接口的类(可以看做是接口的子类),需要实现接口中所有的抽象方法,创建该类对象,就可以调用方法了,否则它必须是一个抽象类。
1.接口不能直接的使用,必须有一个实现类来实现该接口中的方法。
格式:public class 实现类名称 implements 接口名称{}
2.接口的实现类必须覆盖重写(实现)接口中的所有抽象方法。实现接口方法时去掉abstract加上{方法体}即可。
3.创建实现类的对象进行使用。
实现test01方法
调用test01方法
五 总结
接口interface是对一个行为的抽象,接口中可以定义常量(public final static 常量名;),抽象方法,默认方法,静态方法(注意接口中没有静态代码块)等。但是接口不能有构造方法且不能被实例化,接口需要实现类来实现它(接口可以拥有多个实现类,也就是接口可以被多实现);接口同时也可使用extends关键字来继承一个或多个接口的方法,即多继承;当一个类,既继承一个父类,又实现若干个接口时,父类中的成员方法与接口中的默认方法重名,子类则会就近选择执行父类的成员方法
#软件测试#