JAVA接口怎么添加新方法?Java接口如何实现?

JAVA接口在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。并且给java接口在开发程序中起到重要作用,那JAVA接口怎么添加新方法?下面来我们就来给大家讲解一下。

在Java中一个接口一旦发布就已经被定型,除非我们能够一次性的更新所有该接口的实现,否者在接口的添加新方法将会破坏现有接口的实现。默认方法就是为了解决这一问题的,这样接口在发布之后依然能够继续演化。

默认方法就是向接口增加新的行为。它是一种新的方法:接口方法可以是抽象的或者是默认的。默认方法拥有默认实现,接口实现类通过继承得到该默认实现。默认方法不是抽象的,所以我们可以放心的向函数式接口里增加默认方法,而不用担心函数式接口单抽象方法的限制。

public interface Iterator
{
    boolean hasNext();
    E next();
    default void remove()
    {
        throw new UnsupportedOperationException("remove");
    }
    default void forEachRemaining(Consumer super E > action)
    {
        Objects.requireNonNull(action);
        while (hasNext())
            action.accept(next());
    }
}

和其他方法一样,默认方法也可以被继承。

除了上面看到的默认方法,Java8中还允许我们在接口中定义静态方法。这使得我们可以从接口中直接调用它相关的辅助方法,而不是从其它的辅助类中调用(如Collections)。在做集合中元素比较的时候,我们一般需要使用静态辅助方法生成实现Comparator的比较器,在Java8中我们可以直接把该静态方法定义在Comparator接口中:

public static >
    Comparator comparing(Function keyExtractor)
    {
        return (c1, c2) - > keyExtractor.apply(c1)
            .compareTo(keyExtractor.apply(c2));
    }

Java接口如何实现?

当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象的类。

类使用implements关键字实现接口。在类声明中,Implements关键字放在class声明后面。

实现一个接口的语法,可以使用这个公式:

接口语法:

...implements 接口名称[, 其他接口名称, 其他接口名称..., ...] ...

实例

MammalInt.java 文件代码:

/* 文件名 : MammalInt.java */
public class MammalInt implements Animal
{
    public void eat()
    {
        System.out.println("Mammal eats");
    }
    public void travel()
    {
        System.out.println("Mammal travels");
    }
    public int noOfLegs()
    {
        return 0;
    }
    public static void main(String args[])
    {
        MammalInt m = new MammalInt();
        m.eat();
        m.travel();
    }
}

以上实例编译运行结果如下:

Mammal eatsMammal travels

重写接口中声明的方法时,需要注意以下规则:

类在实现接口的方法时,不能抛出强制性异常,只能在接口中,或者继承接口的抽象类中抛出该强制性异常。

类在重写方法时要保持一致的方法名,并且应该保持相同或者相兼容的返回值类型。

如果实现接口的类是抽象类,那么就没必要实现该接口的方法。

另外,大家在实现接口的时候也要知道,一个类只能继承一个类,但是能实现多个接口。最后大家如果想要了解更多java常见问答知识,敬请关注奇Q工具网。

推荐阅读:

java缴费功能怎么做?java实现缴费银行卡缴费功能操作

java开发工具叫什么?java常用开发工具介绍

Qt解析json不成功怎么回事?Xml文件qt如何读取?