《Java基础学习笔记》JAVA之抽象(Abstract)

(abstract)抽象:

当多个类中出现相同功能,但是功能主体不同。 这时也可以进行向上抽取,这时,抽取功能定义,而不抽取功能主体。

抽象方法必须定义在抽象类中。

特点:
1,抽象方法一定定义在抽象类中。
2,抽象方法和抽象类都被必须被 abstract关键字修饰。
3,抽象类不可以被实例化(被 new 创建对象),因为调用抽象方法没有意义。
4,抽象类中的方法要被使用,必须由子类复写其拟有的抽象方法后,建立子类调用。   

如果子类只重写了部分抽象方法,那么该子类还是一个抽象类。

/********************华丽的分隔线***************************/

假如我们在开发一个系统时需要对员工进行建模,员工包含3个属性: 姓名、工号、工资。

经理也是员工,除了含有员工的属性外,另为还有一个奖金属性,请使用继承的思想设计出员工类和经理类。要求类中提供必要的方法进行属性访问。

abstract class Employee
{
    private String id,name;
    private double pay;

    Employee(String id,String name,double pay)
    {
        this.id = id;
        this.name=name;
        this.pay = pay;
    }

    public abstract void Work();
}

class Pro extends Employee
{
    Pro(String id,String name,double pay)
    {
        super(id,name,pay);
    }

    public void Work()
    {
        System.out.println("员工在做事!");
    }
}

class Manager extends Employee
{
    private double bonus;
    
    Manager(String id,String name,double pay,double donus)
    {
        super(id,name,pay);
        this.bonus = bonus;
    }

    public void Work()
    {
        System.out.println("经理在做事!");
    }
}
原文地址:https://www.cnblogs.com/cxmsky/p/2845753.html