java培训
搜索分类

java中接口和抽象类的区别是什么?Java接口如何实现?

赋能网 2023-05-09 61

接口在java编程语言中是一个抽象类型,并且接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类,那java中接口和抽象类的区别是什么?下面来我们就来给大家讲解一下。

1. 抽象类只能继承一次,但是可以实现多个接口;

2. 接口和抽象类必须实现其中所有的方法,抽象类中如果有未实现的抽象方法,那么子类也需要定义为抽象类。抽象类中可以有非抽象的方法;

3. 接口中的变量必须用 public static final 修饰,并且需要给出初始值。所以实现类不能重新定义,也不能改变其值。

4. 接口中的方法默认是 public abstract,也只能是这个类型。不能是 static,接口中的方法也不允许子类覆写,抽象类中允许有static 的方法;

Java接口如何实现?

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

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

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

接口语法:

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

实例

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接口在程序中起到重要作用,能够保护代码的安全性,所以对于java接口的实现我们一定要掌握哦!最后大家如果想要了解更多初识java知识,敬请关注赋能网。


发表评论
0评