美文网首页
16.抽象类&接口

16.抽象类&接口

作者: 一碗清酒慰平生 | 来源:发表于2021-08-14 11:19 被阅读0次

    抽象类

    类中包含抽象方法的类,要定义为抽象类
    eg:public abstract class 抽象类名{}

    • 抽象方法

      一个没有方法体的方法
      public abstract void 方法名();

    • 特点

      1.抽象类不一定有抽象方法,有抽象方法的类一定是抽象类
      2.抽象类不能实例化,但可以抽象类多态
      3.抽象类的子类要么重写抽象类中的所有抽象方法,要么还是抽象类

    • 成员特点

      成员变量(变量,常量),成员方法(抽象方法,非抽象方法),构造方法都可以正常有
      构造方法只用于与子类访问父类数据的初始化,不能用于实例化
      抽象方法限定子类必须完成某些动作
      非抽象方法提高代码复用性

    接口

    一种公共的规范标准,使得符合规范标准的成员都可以正常使用相应的功能
    Java中的接口更多体现在对行为的抽象

    • 定义

      public interface 接口名{}

    • 实现接口

      public class 类名 implements 接口名{}

    • 特点

      接口多态的方式实例化
      接口类的实现类要么重写接口类中的所有抽象方法,要么是抽象类

    • 成员特点

      成员变量(只能常量,public static final),成员方法(只能抽象方法),无构造方法
      接口主要对行为进行抽象的,没有具体存在的构造方法

    • 类和接口的关系

      实现关系,可单实现,也可多实现,还可在继承一个类的同时实现多个接口

    • 接口和接口的关系

      继承关系,可单继承,也可多继承

    抽象类和接口的区别

    对象 成员区别 关系区别 设计理念区别
    抽象类 常量,变量;有构造方法;有抽象方法,非抽象方法 继承,单继承 对类抽象,包括属性,行为
    接口 常量;抽象方法 类与接口是实现,可多实现;接口与接口是继承,可多继承 对行为抽象

    相关文章

      网友评论

          本文标题:16.抽象类&接口

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