abstract
修饰的方法叫抽象方法;由 abstract
修饰的类叫抽象类。abstract class Person
);接口的存在有什么意义?
interface
。interface
,就是比抽象类还要抽象的纯抽象接口,因为它连字段都不能有。因为接口定义的所有方法默认都是public abstract
的,所以这两个修饰符不需要写出来(写不写效果都一样)。接口抽象吗?接口和抽象类有什么异同点?
如果一个抽象类没有字段,所有的的方法全部都是抽象方法:
abstractclassPerson {
public abstract void run();
public abstract String getName();
}
就可以把该抽象类改写为接口。
抽象类和接口的对比:
abstract class | interface | |
---|---|---|
继承 | 只能extends一个class | 可以implements多个interface |
字段 | 可以定义实例字段 | 不能定义实例字段 |
抽象方法 | 可以定义抽象方法 | 可以定义抽象方法 |
非抽象方法 | 可以定义非抽象方法 | 可以定义default方法 |