当前位置:首页 > 编程教程 > java教程 > 第三十篇 Java多态与抽象类-2

第三十篇 Java多态与抽象类-2
栏目分类:java教程发布日期:2019-09-21浏览次数:

从具体事物抽出、概括出它们共同的方面、本质属性与关系等,而将个别的、非本质的方面、属性与关系舍弃,这种思维过程,称为抽象。在Java有足够的特征来描绘一个对象即是抽象类。抽象类不能实例化对象,但它的其它功能依然存在,成员方法、成员变量、构造方法
从具体事物抽出、概括出它们共同的方面、本质属性与关系等,而将个别的、非本质的方面、属性与关系舍弃,这种思维过程,称为抽象。在Java有足够的特征来描绘一个对象即是抽象类。抽象类不能实例化对象,但它的其它功能依然存在,成员方法、成员变量、构造方法的访问方法和普通的类并无区别。抽象类由于不能实例化对象,所以必须被继承才能使用,所以一般将父类定义为抽象类,进行继承和多态处理。Java中抽象类是一种继承关系,一个接口只能继承一个抽象类,但是一个类可以实现多个接口。使用abstract修饰符来表示抽象方法以及抽象类。
public class While {
 
    public static void main(String[] args) {
        Suv suv=new Suv("越野车");
        suv.car();
        
        Mpv mpv=new Mpv("商务车");
        mpv.car();
    }
    
}
 
abstract class Car_1{
    
    public abstract void car();
}
class Suv extends Car_1{
    private String car;
    public Suv(String car) {
        this.car=car;
    }
    @Override
    public void car() {
        System.out.println("我的车是"+this.car);
    }
    
}
class Mpv extends Car_1{
    private String car;
    public Mpv(String car) {
        this.car=car;
    }
    @Override
    public void car() {
        System.out.println("我的车是"+this.car);
    }
    
}

关于抽象类我们需要注意的是,其不能被实例化,若被实例化就会报错,只有其非抽象子类可以被实例化创建对象。抽象类中不一定包含抽象方法,但是抽象方法的类肯定是抽象类。用static进行修饰的方法不能声明为抽象方法,抽象类的子类一定要给出抽象类中抽象方法的具体实现,若其子类也是抽象类则不用,抽象类的抽象只声明而不包含方法体。

相关热词: java

     
编程入门 编程教程 编程资源 编程问答