java中接口只允许单一继承吗?java接口有哪些分类?

接口在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知识,敬请关注奇Q工具网。

推荐阅读:

java系统找不到指定路径原因是什么?怎么解决?

java多线程如何保证线程安全?线程安全的实现方法

java已停止工作怎么解决?Java如何正常运行?