接口和抽象类的区别是什么?

  • 接口的方法默认时 public, 所有方法在接口中不能有实现(Java 8开始接口方法可以有默认实现), 而抽象类可以有非抽象方法.
  • 接口中除了 static, final 变量, 不能有其他表变量, 而抽象类中则不一定.
  • 一个类可以实现多个接口, 但只能实现一个抽象类. 接口自己本身可以通过继承拓展多个接口.
  • 接口方法默认修饰符是 public, 抽象方法可以有 public, protected 和 default 这些修饰符(不能用 private, 不然就不能被覆写了).

猜你喜欢

转载自www.cnblogs.com/lk13227/p/13203825.html