其他分享
首页 > 其他分享> > 20220808-抽象类和方法_abstract

20220808-抽象类和方法_abstract

作者:互联网

目录
抽象类:当父类的某些方法,需要声明,但是有不确定如何实现时,可以将其声明为抽象方法,那么这个类就是抽象类。

abstract class className{
    //属性
    //普通方法
    //构造器
    //代码块,静态代码块
    //静态方法
}

1. 概念:


2. 使用细节:

 - 抽象类可以有任意成员(非抽象方法、构造器、静态属性等)
 - 抽象方法不能有方法体
 - 如果一个类继承了抽象类,则它必须实现抽象类的所有抽象方法,除非他自己也声明为抽象类
 - 抽象方法不能使用private、final和static修饰,因为这些关键字和重写相违背
 - 抽象类中的普通方法和属性可以使用任意修饰符

3. 抽象类实践——模版设计模式

抽象的概念我的理解是:主要是提取共性的东西,用来提高代码复用
将共有的方法提取到抽象父类中,将变化的部分使用抽象方法的方式来表示,通过普通方法调用抽象方法,利用到了父类与子类间的继承和多态,不同的子类对象可以动态调用其实现的父类抽象方法。
//模版设计模式
abstract class AABB {
    public void calculate() {
        long startTime = System.currentTimeMillis();
        job();
        long endTime = System.currentTimeMillis();
        System.out.println(endTime - startTime);
    }
    abstract void job();
}
class AA extends AABB {
    public void job() {
        long num = 0;
        for (long i = 0; i < 100000; i++) {
            num += i;
        }
    }
}
class BB extends AABB {
    public void job() {
        long num = 0;
        for (long i = 0; i < 100000; i++) {
            num *= i;
        }
    }
}

标签:abstract,long,抽象,20220808,设计模式,方法,抽象类
来源: https://www.cnblogs.com/zhanghuaze/p/16564119.html