韩顺平Java19——抽象类

抽象类(abstrct)

 

 

 

 

 

 

  • 使用细节:

1.抽象类不能被实例化

2.抽象类可以不包含abstract方法

3.一旦一个类包含了abstract方法则该类必须被声明为abstract类

4.abstract只能修饰类和方法,不能修饰其他

5.abstract类的本质还是类,即可拥有正常类的所有构成要素(普通方法、属性、构造器等)

6.abstract方法不能有主体,即不能实现(也不能有{})

7.一个类如果继承了抽象类,则必须实现abstract类的所有abstract方法,除非该类自己也声明为abstract类

8.abstract方法不能使用private、static、final来修饰,因为这三个关键字都是同重写相违背的

 

 

 

  • 抽象类的最佳实现——模板设计模式 

模板类(计算任务时间)

public abstract class Template {

    abstract void job();
    public void calTime(){
        long start = System.currentTimeMillis();//获取当前时间
        job();
        long end = System.currentTimeMillis();
        System.out.println("任务执行时间:"+(end-start));
    }

}

继承类

public class A extends Template{
    @Override
    void job() {
        int sum = 0;
        for (int i = 0; i < 100000; i++) {
            sum+=i;
        }
    }
}

测试

public class Test {
    public static void main(String[] args) {
        A a = new A();
        a.calTime();
    }
}
//任务执行时间:1

 

posted @ 2021-12-17 12:31  紫英626  阅读(37)  评论(0编辑  收藏  举报

紫英