抽象类和接口

抽象类(abstract)

  • 描述一个事物,却没有足够的信息,这时就将这个事物称为抽象事物

  • 特点:
    1、抽象方法一定定义在抽象类中,需要抽象关键字定义。
    2、抽象类不能实例化。不能用new关键字创建对象。
    3、只有子类覆盖了所有的抽象方法后,子类具体化,子类就可以创建对象。
    如果没有覆盖所有的抽象方法,子类还是一个抽象类。

  • 抽象类是不断的 向上抽取而得来的。抽取了方法的声明而不确定具体的方法内容,由不同的子类来完成具体的内容

接口(interface)

  • 接口中常见的成员有两种:1、全局常量 2、抽象方法;成员都是public修饰
  • 特点:
    1、接口不可以实例化。
    2、需要覆盖了接口中的所有的抽象方法的子类,才可以实例化。
    否则该子类还是一个抽象类
    3、接口是用来被实现的(implements)

JAVA中通过接口来解决多继承的问题(方法的主体不同),即implements(将多继承转化为多实现)

避免了单继承的局限。对一个子类进行扩展功能时,可以使用该类implements一个接口。
继承是为了获取体系的基本功能。想要扩展功能可以通过实现接口完成

接口与接口之间的关系为继承关系,而且可以多继承。

为了方便创建inter接口的子类对象,可以用一个类先把接口中的所有方法都空实现。该类创建对象没有意义,所以可以将该类抽象。

  • 接口的思想
    1、接口出现扩展了功能
    2、接口其实就是暴露出来的规则
    3、接口的出现降低了耦合性。解耦

  • 抽象类与接口
    类用于描述事物共性的基本功能,用class定义父类,即抽象类
    接口用于定义的都是事物的额外功能
    区别:
    1、类与类之间 继承关系。 is a
    类与接口之间 实现关系。like a
    2、抽象类中可以定义抽象和非抽象的方法,子类可以直接使用或者覆盖使用
    接口中定义都是抽象方法,必须实现才能使用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java中,有两种实现OOP(Object Oriented Programming)编程的方法:抽象,接口。 f...
    Arya鑫阅读 507评论 0 1
  • 先来看看抽象类和接口的定义: 抽象类(abstract class): 使用abstract修饰符修饰的类。官方点...
    IT废柴阅读 53,935评论 7 45
  • 一、抽象类 抽象:笼统,模糊,看不懂!不具体 抽象类的由来:举个栗子说明 抽象类:当一个类在描述事物时,没有足够的...
    咸鱼有梦想呀阅读 412评论 0 3
  • 深秋的早晨,温度渐渐转凉,来一份心仪的早晨,可好?喜欢素食,喜欢尝试新作品的我们,一直在努力做到最好。玫瑰花馒头,...
    阿兰若素潇雨阅读 513评论 0 1
  • 陟彼南山,言眺燕辽。 薄雾蒙蒙,旭日朝朝。 喈喈乾鹊,衔枝为巢。 四野肃肃,落叶萧萧。 秋月坠矣,冰霜至矣。 登高...
    快乐的小沙弥阅读 200评论 0 0