今天是高考的日子,是大四师兄师姐答辩毕业的日子。一代又来,一代又去。好久没写博客,借此特殊日子整理一下前不久学java8新特性时写的代码,留下痕迹。(本博客的代码根据 java8新特性教程 学习整理,加上个人的理解而成,关于某个新特性的介绍代码里的注释已经阐述清楚,故不再写文字介绍,直接看代码吧!)
本篇介绍java8的新特性之一:接口的默认方法(扩展方法)。
1. 先定义一个接口IFormula,该接口含有一个默认方法sqrt和一个未实现的方法calculate:
/**
接口的默认方法
Java8允许开发者通过使用关键字 default 向接口中加入非抽象方法。
这一新的特性被称之为扩展方法。
*/
public interface IFormula{
double calculate(int num);
//扩展方法
default double sqrt(int a){
return Math.sqrt(a);
}
}
import org.junit.Test;
/**
* 测试接口的默认方法
*/
public class DefaultMethod {
@Test
public void testIFormula(){
IFormula formula = new IFormula() {
@Override
public double calculate(int num) {
return this.sqrt(num*100);
}
};
System.err.println(formula.calculate(100));
System.err.println(formula.sqrt(100));
}
}
详情请见这篇博客: java8新特性教程