关键字 Java虚拟扩展方法(Java Virtual Extension Method,JVEM)"/>
Java中的的default关键字 Java虚拟扩展方法(Java Virtual Extension Method,JVEM)
Java 8 使我们能够通过使用 default 关键字向接口添加非抽象方法实现
interface Test{double calculate(int a);default double sqrt(int a) {return Math.sqrt(a);}}
Test 接口中除了抽象方法计算接口公式还定义了默认方法 sqrt。 实现该接口的类只需要实现抽象方法 calculate。
默认方法sqrt 可以直接使用。
public class Main {public static void main(String[] args) {// 通过匿名内部类方式访问接口Test test= new Test() {@Overridepublic double calculate(int a) {return sqrt(a * 100);}};System.out.println(formula.calculate(100)); // 100.0System.out.println(formula.sqrt(16)); // 4.0}
}
在Java语言中,default
关键字主要有两个用途:
1. 在接口中定义默认方法:
在Java 8之后,接口可以包含默认方法。这些方法在接口内部提供了一个默认的实现,这样在实现这个接口的类中就不需要再提供实现。默认方法通过使用default
关键字进行声明。例如:
public interface MyInterface {default void myDefaultMethod() {System.out.println("This is a default method.");}
}
在这个例子中,任何实现MyInterface
的类都会获得myDefaultMethod
方法的默认实现。
2. 在switch语句中:
default
关键字用在switch语句中时,表示当所有case都不匹配时执行的代码块。例如:
int number = 3;
switch (number) {case 1:System.out.println("One");break;case 2:System.out.println("Two");break;default:System.out.println("Other");break;
}
在这个例子中,如果number
不等于1也不等于2,那么就会执行default
代码块。
总的来说,default
关键字为Java提供了更灵活的机制,使得在接口中定义一些默认行为或在switch语句中处理不匹配的情况变得更加方便。
更多推荐
Java中的的default关键字 Java虚拟扩展方法(Java Virtual Extension Method,JVEM)
发布评论