美文网首页
抽象类和接口的区别

抽象类和接口的区别

作者: 高永骁 | 来源:发表于2020-05-09 20:42 被阅读0次

    抽象类:使用abstract修饰的类

    抽象方法:没有方法体并且使用abstract修饰符修饰的方法。  必须放在抽象类中。

    抽象类不一定包含抽象方法。

    只有方法的定义和方法的实现交给继承他的子类去完成。

    继承自抽象类的子类,必须实现抽象类中的所有!抽象方法。

    优点:易于扩充新的类。抽象方法必须定义在抽象类或接口中。

    有抽象方法必是抽象类,抽象类中的方法不一定是抽象方法

    使用abstract修饰的类,不能创建实例即new;

    普通类有的成员(方法字段构造器)抽象类也有;

    接口

    修饰符只能是默认的或public

    interface      implements

    实现类的方法的访问权限必须大于等于接口的方法声明的访问权限

    接口里的方法都是抽象方法字段(数据)是全局静态常量即具有public static final属性(一般不写)

    如果实现接口的类不是抽象类,他必须实现接口的所有方法。

    被实现的接口可以有多个。(与类的继承的不同)

    接口之间也可以有继承关系,子接口拥有父接口的方法,自己还可以定义方法

    接口也可实现多态

    抽象类和接口的比较:

    不同点:①抽象类是单继承,接口是多实现。②抽象类有非抽象方法,接口全是抽象方法。③抽象类的方法的修饰符4中都有,接口的方法都是public。④抽象类有构造方法。

    相同点:都不能实例化,都可以实现多态

    相关文章

      网友评论

          本文标题:抽象类和接口的区别

          本文链接:https://www.haomeiwen.com/subject/gckyghtx.html