Java中接口和抽象类的对比

    技术2022-07-10  151

    1:抽象类

    抽象类也是类的一种,声明方式与声明类相似,在声明之前添加abstract

    public abstarct class test{ absctract void prectice(); }

    声明时,可以不添加权限关键字,或者添加只能是public或者protect,因为抽象类只能被继承,不能实例化为对象。 在继承抽象类时

    class test1 extends test{ public void prectice(){ //将方法实例化 } }

    继承抽象类时,每个子类只能有一个父类,也就是只能继承一个父类。在继承抽象类之后,如果继承父类的子类没有全部实例化方法,这个子类也只能声明为抽象类。

    2:接口

    接口是一个抽象方法的集合 ,在接口中定义任何字段都是final和static的。

    public interface test{ void prectice(); }

    使用接口

    class test2 implements test{ public void prectice(); }

    在使用接口时,一个类可以继承多个接口,但是只要继承的接口,必须将全部的抽象方法进行实例化。

    抽象类与接口的区别

    1:抽象类是一个类,接口是一个抽象方法的集合。 2:子类只可以继承一个抽象类,但是可以继承多个接口。 3:子类继承的抽象类可以不将全部抽象方法实例化(但是子类需要声明为抽象类),但是使用的接口必须全部实例化。不能声明为抽象类再进行继承。 4:抽象类执行速度更快。 5:抽象类是一个类,可以有构造函数,但是接口没有。

    Processed: 0.013, SQL: 9