Java中的抽象类

一.什么是抽象类

 抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。抽象类是不完整的,它只能用作基类。

 二.抽象类如何实现?

抽象类含有抽象方法,抽象方法使用关键字abstract修饰,而且抽象方法没有方法体。

抽象方法:

abstract void f1();// 不能出现方法体

注意:抽象类中可以含有非抽象方法。

由于抽象类不能实例化,所以可以使用继承抽象父类的方式,子类实现父类全部的抽象方法,然后将子类实例化。

代码如下:

public class AbstractClassText {
    public static void main(String[] args) {
        A a1 = new B();//抽象類可以使用多态
//        A a2= new A();//抽象类不能实例化。
        B b1 =new B();//实现了抽象类的所有方法的子类可以实例化
    }
}

/*
 * 抽象类A,其中含有抽象方法,不能被实例化
 */
abstract class A {
    abstract void f1();// 不能出现方法体

    abstract void f2();
    void f3() {
        ;
    }
}

class B extends A {

    @Override
    void f1() {
        System.out.println("B类实现A类的f1方法");
    }

    @Override
    void f2() {
        System.out.println("B类实现A类的f2方法");
    }

}

三.抽象类与多态

抽象虽然不能实例化,但是可以多态。

原文地址:https://www.cnblogs.com/SAM-CJM/p/9384450.html