Java中的抽象类

Posted 真正的小明被占用了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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方法");
    }

}

 

三.抽象类与多态

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

 

以上是关于Java中的抽象类的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向类加载器 ClassLoader ( 类加载器源码简介 | BaseDexClassLoader | DexClassLoader | PathClassLoader )(代码片段

java中的抽象类(abstract)

如何修复 JAVA VS 代码中的实现错误,“必须实现继承的抽象类”

Java抽象类和接口

Java中的接口和抽象类

分清java中的接口和抽象类