• 念念不忘,必有回响!包含: Java 基础, Java 部分源码, JVM, Spring, Spring Boot, Spring Cloud, 开源项目等
  • 念念不忘,必有回响!包含: 数据库原理, MySQL, ElasticSearch, MongoDB, Docker,CI&CD, Linux, DevOps, 分布式, 中间件等
  • 念念不忘,必有回响!包含: 开发工具, Git, IDE, 源码阅读,读书笔记等

回顾一个抽象类

2023-04-15 11:11
2971
0

在jdk1.8之前,因为接口里只能做方法定义不能有方法的实现,因此我们通常会在抽象类里面实现默认的方法{一般这个默认的方法是抽象后公用的方法,不需要每一个继承者都去实现,只需调用即可}。就像下面这样;

在定义的时候;

public abstract class AFormula {
abstract double calculate(int a);

// 平方
double sqrt(int a) {
    return Math.sqrt(a);
}

}

在使用的时候;

@Test
public void test_00() {
    AFormula aFormula = new AFormula() {
        @Override
        double calculate(int a) {
            return a * a;
        }
    };
    System.out.println(aFormula.calculate(2)); //求平方:4
    System.out.println(aFormula.sqrt(2));     //求开方:1.4142135623730951
}

全部评论