• 抽象类和接口的区别


    1.接口不是类,抽象类是类;接口是实现,而接口是继承

    2.抽象类中不一定都是抽象方法,但是接口中的方法都是抽象方法,而且都是用public abstract修饰的抽象方法(可以省略不写,这个看标准的具体要求)

    3.接口没有构造方法;抽象类有构造方法,但是构造方法的作用不是用来创建对象的,而是让子类给他的对象空间中的父类属性赋值的。

    4.接口中的变量都是"特殊的变量",都是用final修饰的"常量";抽象类中可以有普通的变量

    5.在实现过程中的区别,优劣:

      按道理说,创建抽象类不如直接创建接口。接口好处多多,但是因为还没有做实际开发所以之后补充。但是从API中可以看到好多都是抽象的类。从这里做点总结:

      接口虽然能实现"万金油",但是总不能每次都创建接口然后实现所有的方法吧,如果接口中的方法很多,那么实现类也是够呛。所以抽象类可以说是作为一个缓冲,实现了一部分的方法,这些方法使得该类有  了不同于父类但是又是与父类“同源”的方法,同时又能进行扩展,让抽象类得到自己的特征方法。因为一般抽象类都是用来多态使用(又不能创建自己的对象),所以各种意义上来说都很方便。

  • 相关阅读:
    PAT1038
    PAT1034
    PAT1033
    PAT1021
    PAT1030
    PAT1026
    PAT1063
    PAT1064
    PAT1053
    PAT1025
  • 原文地址:https://www.cnblogs.com/Yuanpp/p/8445636.html
Copyright © 2020-2023  润新知