Loading... ## 抽象角色 `abstract`和`interface`是Java语言中对抽象角色定义进行支持的两种机制。其中`abstract`用于抽象类,`interface`用于接口(类)。 ## 抽象类与接口的区别 | | 抽象类|接口| |--|--|--| |实例化|不能|不能| |类|一种继承关系,一个类只能使用一次继承关系|一个类可以实现多个接口类| |数据成员|可以有自己的|静态的,不能被修改,必须为static final,一般不在此定义| |方法|可以私有的,非abstract方法,该方法必须实现|不可有私有的,不能有实现| |关系|"is-a"继承关系|"realize-a"实现关系| |用法|使用关键字 extends|使用关键字 implements| ---------- ## 具体使用实例 ### abstract ```java // 抽象角色:抽象类 abstract class Product { // 所有产品的公共业务方法 public void methodSame(){ ...... } // 声明抽象业务方法 public abstract void methodDiff(); } // 具体类 public class ConcreteProduct extends Product{ //业务方法 public void methodDiff() { //业务方法的实现 } } ``` ### interface ```java // 抽象角色:接口(类) interface Chart { public void display(); } //具体产品类(实现产品类) public class HistogramChart implements Chart { public HistogramChart(){ System.out.println("创建柱状图!"); } public void display() { System.out.println("显示柱状图!"); } } ``` 最后修改:2020 年 07 月 27 日 02 : 46 PM © 允许规范转载