1.抽象方法(abstract)
<1.>作用
没有方法体,只有声明,定义了一种“规范”,告诉子类必须要具体实现;
<2.>抽象类
包含抽象方法的类即为抽象类,抽象类可以严格子类的设计,使子类更高通用;
<3.>要点
Ⅰ.有抽象方法的类只能定义成抽象类;
Ⅱ.抽象类不能被实例化;
Ⅲ.抽象类可以包含属性、方法、构造方法。但是构造方法只能被子类调用;
Ⅳ.抽象类只能用来被继承;
Ⅴ.抽象方法必须被子类实现;
2.接口(interface)
<1.>作用
可以更加规范的对子类进行约束,可以实现规范和具体实现的分离;
<2.>使用
Ⅰ.子类通过implements来实现接口的规范;
Ⅱ.接口不能创建实例,但是可用于声明引用变量类型;
Ⅲ.一个类实现了接口,必须实现接口中所有的方法,并且这些方法只能是public;
Ⅳ.接口中可以包含静态常量、抽象方法、静态方法、默认方法;
<3.>默认方法(default)
修饰符只能是default关键字,默认方法和抽象方法的区别在于抽象方法必须被实现,默 认方法可以通过继承获得;
<4.>静态方法(static)
静态方法直接从属于接口,可以通过接口名调用;
<5.>接口的多继承(extends)
3.抽象类和接口的区别
抽象类还提供某些具体实现,接口不提供任何实现,接口中所有方法都是抽象方法。接口是 完全面向规范的,规定了一批具有的公共方法规范。