java类接口和抽象类的区别

  • 全局变量的区别

    • 接口中所有的全局变量默认为 public static final,处于方法区的常量池中,且是静态域中的成员
    • 抽象类的全局变量无硬性约束
  • 方法的区别

    • 接口

      • 接口中的方法从Java8开始支持带方法体,两种情况
        1. 用于修饰函数式接口中的主函数,作用域修饰符为default
        2. 静态域中的方法,即带static的修饰符,作用域修饰符为public
      • 接口中不带方法体的方法作用域修饰符为public
    • 抽象类

      • 抽象类中的抽象方法作用域修饰符为public,且修饰符不能有final和static
      • 抽象类中的非抽象方法无硬性要求

猜你喜欢

转载自blog.csdn.net/weixin_37481769/article/details/84256154
今日推荐