抽象的概念和使用

来源:互联网 发布:制作vpn客户端软件 编辑:程序博客网 时间:2024/06/07 06:35

1.抽象概述:

使用 abstract关键字来修饰 抽象类和抽象方法
zuo'yomg防止类被实例化

定义:只给出定义方法而没有方法体

抽象类即使不包含抽象方法也是抽象类,抽象类中可以包含抽象方法也可以不包含

抽象类不能被实例化,必须在子类中实例化


抽象方法  public abstract void demo();


例子:

public final class Demo{
    public static void main(String[] args) {
        Teacher t = new Teacher();
        t.setName("王明");
        t.work();
       
        Driver d = new Driver();
        d.setName("小陈");
        d.work();
    }
}
// 定义一个抽象类
abstract class People{
    private String name;  // 实例变量
   
    // 共有的 setter 和 getter 方法
    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return this.name;
    }
   
    // 抽象方法
    public abstract void work();
}
class Teacher extends People{
    // 必须实现该方法
    public void work(){
        out.println("我的名字叫" + this.getName() + ",我正在讲课,请大家不要东张西望...");
    }
}
class Driver extends People{
    // 必须实现该方法
    public void work(){
        out.println("我的名字叫" + this.getName() + ",我正在开车,不能接听电话...");
    }
}
运行结果:
我的名字叫王明,我正在讲课,请大家不要东张西望...
我的名字叫小陈,我正在开车,不能接听电话...