可能重复:
Interface or abstract class?
Abstract and Interface in java
我仍然是Java的学生,我遇到了抽象类和接口。
现在,当您创建一个抽象类时,您可以编写如下方法:
public abstract void something();
但是当你在界面中创建一个方法时,它看起来像这样:
public void something();
现在我不是盲目的我可以看到存在一些差异我也知道你extend
是一个抽象类而你implement
是一个接口。
但有人可以告诉我,差异可能是一个例子,你可以使用哪一个而不是另一个?
答案 0 :(得分:2)
这两个例程没有区别。不同之处在于abstract
类可以包含用于所有实现的公共逻辑,而接口则不能。
答案 1 :(得分:2)
“抽象”基本上意味着该方法没有实现。实现必须由子类提供。因此,无法创建具有抽象方法的类的实例。
现在,Java中的接口只是方法签名的集合。它们不能包含设计实现。因此,abstract
关键字将是多余的。一个人不能创建接口实例,只能创建实现接口的具体类。