【Java笔记】抽象类和接口(Java 8)

【Java笔记】抽象类和接口(Java 8)

思维导图

抽象类

规则

  • 抽象类可以没有抽象方法,有抽象方法的类只能定义成抽象类

  • 抽象方法不能有方法体

  • 抽象类不能被实例化

  • 抽象类可以包含成员变量、方法、构造器、初始化块、内部类(接口、枚举)

  • 含有抽象方法的类只能被定义为抽象类

    • 直接定义抽象方法
    • 继承抽象父类,没有完全实现父类的抽象方法
    • 实现接口,没有完全实现接口的抽象方法

关于修饰符

  • abstract不能修饰变量和构造器
  • final和abstract不能同时使用
  • abstract和private不能同时修饰方法
  • static和abstract不能同时修饰方法,可以同时修饰内部类

接口

规则

  • 接口可以包含

    • 成员变量

      • 只能是静态常量(public static final)
    • 方法

      • 只能是抽象方法、类方法或默认方法

        • 接口里的普通方法总用public abstract修饰,不能有方法体。类方法和默认方法必须有方法体
    • 内部类

      • 内部接口、枚举

        • 默认public static修饰
  • 接口成员的访问修饰符只能是public(省略默认为public)

  • Java8允许接口定义默认方法

    • 必须使用default修饰,不能用static修饰
  • 接口可以扩展多个父接口

  • 接口不能被实例化

  • 实现接口方法时,必须用public访问修饰符

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×