接口在java编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。那java中接口只允许单一继承吗?下面来我们就来给大家讲解一下。
是的,java接口不能多继承,只能单继承,但可以实现多个接口。
java接口有哪些分类?
1.单方法接口
以下是引用片段:
public interface Actionlistener { public abstract void actionPerformed(ActionEvent event); }
仅且只有一个方法,只有实现了这个接口(重写这个接口中的唯一一个方法),你才有资格去事件监听器列表里注册(参数为Actionlistener类型),当事件源变动时,自动调用这个唯一的actionPerformed方法。
2.标识接口
是没有任何方法和属性的接口。标识接口不对实现它的类有任何语意上的要求,它仅仅表明了实现它的类属于一个特定的类型(传递)。
不推荐过多的使用标识接口。
3.常量接口
用Java接口来声明一些常量,然后由实现这个接口的类使用这些常量(以前在做画板的时候这么干过)。建议不要模仿这种常量接口的做法。
【范例】
定义接口格式:
[public]interface 接口名称 [extends父接口名列表] { //静态常量 [public] [static] [final] 数据类型变量名=常量值; //抽象方法 [public] [abstract] [native] 返回值类型方法名(参数列表); }
实现接口格式:
[修饰符] class 类名[extends 父类名][implements 接口A, 接口B, ···] { 类成员变量和成员方法; 为接口A中的所有方法编写方法体, 实现接口A; 为接口B中的所有方法编写方法体, 实现接口B; }
实例:
本例定义接口AreaInterface,其中有静态常量pai和求面积的抽象方法area()。类Circle和类Rectangle实现了AreaInterface接口,即为接口中的抽象方法area()编写了满足各自要求的方法体,分别求圆形和长方形的面积。
程序:AreaInterface.java
package intrFace; public interface AreaInterface { double pai = Math.PI; double area(); }
程序:Circle.java
package intrFace; public class Circle implements AreaInterface { double r; public Circle(double x) { r = x; } //实现接口中的抽象方法,求圆面积 public double area() { return pai * r * r; } public String toString() { return "圆:r=" + r + "\tarea=" + area(); } }
程序:Rectangle.java
package intrFace; public class Rectangle implements AreaInterface { double x, y; public Rectangle(double a, double b) { x = a; y = b; } public double area() //实现接口中的抽象方法,求长方形面积 { return x * y; } public String toString() { return "长方形:x=" + x + ";y=" + y + "\t" area = +area(); } }
Java接口有以上这三种分类,java接口在程序中还是很重要的,有了接口能够保证代码的安全以及稳定,但是接口不能多继承,只能单继承,最后大家如果想要了解更多初识java知识,敬请关注赋能网。