抽象角色

abstractinterface是Java语言中对抽象角色定义进行支持的两种机制。其中abstract用于抽象类,interface用于接口(类)。

抽象类与接口的区别

抽象类接口
实例化不能不能
一种继承关系,一个类只能使用一次继承关系一个类可以实现多个接口类
数据成员可以有自己的静态的,不能被修改,必须为static final,一般不在此定义
方法可以私有的,非abstract方法,该方法必须实现不可有私有的,不能有实现
关系"is-a"继承关系"realize-a"实现关系
用法使用关键字 extends使用关键字 implements

具体使用实例

abstract


// 抽象角色:抽象类
abstract class Product {
    // 所有产品的公共业务方法
    public void methodSame(){
    ......
    }

    // 声明抽象业务方法
    public abstract void methodDiff();
}

// 具体类
public class ConcreteProduct extends Product{
    //业务方法
    public void methodDiff() {
        //业务方法的实现
    }
}

interface

// 抽象角色:接口(类)
interface  Chart {
    public void display();
}

//具体产品类(实现产品类)
public class HistogramChart implements Chart {
    
    public HistogramChart(){
        System.out.println("创建柱状图!");
    }

    public void display() {
        System.out.println("显示柱状图!");
    }
}
最后修改:2020 年 07 月 27 日
如果觉得我的文章对你有用,请随意赞赏