一、抽象类:一个类中没有包含足够的信息来描述具体的事物。

用来捕捉子类的通用特性,比如两个事物具备共性,就可以向上抽取。

抽象类不能被实例化,只能被用作子类的父类。

在java中有两种方式能够只写方法名,不写方法体,一是抽象类,二是接口(本文介绍抽象类)

 

二、建立一个抽象类(抽象类的关键为abstract)

package introduction7;
//abstract是手动输入的
public abstract class AbstractCars {
}

 

三、抽象类中可以包含抽象方法,抽象方法也需要用abstract关键字进行修饰。

 

四、抽象方法和抽象类的关系

1、抽象类中不一定有抽象方法,当有抽象方法的类一定是抽象类。

2、抽象类中的抽象方法必须被实现。

3、如果一个子类中没有实现父类中的抽象方法,那么子类也成为了一个抽象类。

4、抽象类必须被继承,抽象方法必须被重写。

 

五、如何使用抽象类、抽象方法?

1、创建两个类,AbstractCars和AbstractDemoBMW

其中AbstractCars包含以下内容:

package introduction7;
//abstract是手动输入的
public abstract class AbstractCars {
    int speed;
    private int privateSpeed;
    protected int protectedSpeed;
    public AbstractCars() {
        this(0);
    }

    public AbstractCars(int startSpeed) {
        speed = startSpeed;
    }
    
    public void setprivateSpeed(int privateSpeed) {
        this.privateSpeed = privateSpeed;
    }
    
    //抽象方法,任何继承了这个类的子类都必须实现这个抽象方法
    public abstract void engineStart(String keyType,int num);

}

AbstractDemoBMW主要用来演示调用。

 

2、如果AbstractDemoBMW想使用AbstractCars这个抽象类,必须先继承AbstractCars

package introduction7;

public class AbstractDemoBMW extends AbstractCars{
    public void setprivateSpeed(int privateSpeed) {
        super.setprivateSpeed(10);
    }
    
    //实现父类中的抽象方法,如果不实现直接调用,程序会报错
    @Override
    public void engineStart(String keyType, int num) {
        System.out.println("这是bmw的启动方式。。。");
    }
}

 

posted on 2018-08-28 16:56  时光以北暮南城  阅读(159)  评论(0)    收藏  举报