0
点赞
收藏
分享

微信扫一扫

Java抽象笔记

爱薇Ivy趣闻 2022-04-24 阅读 55
java

抽象类

为了解决父类方法的不确定性

抽象类则是声明子类必须要去实现的方法,父类并没有实现,即没有方法体body{也就是大括号包括的部分}

当一个类中含有抽象方法的时候,类要被申明为抽象类

细节

  1. 抽象类不能被实例化。应为类里有抽象方法,没有body,没有实际功能
  2. 抽象类不一定要包括抽象方法,但是有抽象方法必须被处理为抽象类
  3. abstract只能修饰类和方法
  4. 抽象类还是类,可以拥有任意成员,比如抽象方法,非抽象方法,属性,静态属性
  5. 抽象类如果被继承,则必须完成父类的所有方法,就是要有方法题,也就是重写override,除非子类被处理为抽象类。
  6. 抽象方法不能用,private,static,final来修饰,应为这些都是与override相违背的

最佳实践 模板设计模式

public class Template {
    public static void main(String[] args) {
        BB bb = new BB();
        bb.calculateTime();
    }
}
abstract public class AA {
    abstract public void job();

    public void calculateTime(){
        long start = System.currentTimeMillis();
        job();
        long end = System.currentTimeMillis();
        System.out.println("执行时间"+(end-start));
    }
}
public class BB extends AA{
    @Override
    public void job() {
        long num = 0;
        for (int i = 0; i < 1_0000_0000; i++) {
            num +=i;
        }
    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XWCm6mDF-1650806588811)(C:\Users\30942\AppData\Roaming\Typora\typora-user-images\image-20220424212013236.png)]

用起来还是像继承,只不过继承时候父类的方法可以直接拿来使用,而抽象类必须重写

大家觉得俺的电脑速度怎么样啊,大家可以试试,然后把记过发在评论区我们讨论一下

好了,今天的学习分享又到这里了,晚安各位

举报

相关推荐

0 条评论