java中关于接口与抽象类的区别(基础理解)

java中关于接口与抽象类的区别(基础理解)

我们知道接口和抽象类在有时候具有相似的功能,主要用来实现java的可扩展性。

java中接口类:
接口类中的方法是不能有方法身体的。
java中关于接口与抽象类的区别(基础理解)
这里会进行报错,因为你接口里的方法具有具体的方法体。
我们都知道接口类的关键字是interface,在这个类里面我们都是提供一些接口,即具体的方法名字。但是这个方法不能有具体的实现。仅仅只能是一个函数的声明。
子类实现接口类时,必须重写所有接口类中的方法,否则将会报错。
java中关于接口与抽象类的区别(基础理解)
这里没有实现father1中的face()方法,所以会报错。

java中抽象类:
抽象类是可以有方法的身体的。
java中关于接口与抽象类的区别(基础理解)这里抽象类中方法有方法体,但是不会报错。
子类实现接口类时,不必重写父类中的方法,而是继承得到父类的所有方法。但是注意抽象类是不能具体实例化的。即实例化只能实例化抽象类的子类。