接口在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知识,敬请关注赋能网。