Java学习笔记——接口与抽象类的区别

在某种意义上,接口是比抽象类更抽象的类,接口的作用更多是起到标准化、规范化的作用。

它们之间的区别:

  1.抽象类可以有非抽象方法,而接口中只能有抽象方法(但在JDK1.8之后的版本中,接口可以拥有方法体,也就是说,接口也可以拥有非抽象方法了)

   2. 接口中的变量都是public static 修饰的

static:假如可以是非static的话,因一个类可以继承多个接口,出现重名的变量,如何区分呢?

final:接口是一种更高层面的抽象,是一种规范、功能定义的声明,所有可变的东西都应该归属到实现类中,这样接口才能起到标准化、规范化的作用,所以接口中的属性必然是final的

   3.接口中的方法只能是public,而抽象类中的方法可以为public、private、protected。

你可能感兴趣的:(Java)