1. 在 switch
语句中作为默认分支
在 switch
语句里,default
用于定义当所有 case
标签的值都无法匹配 switch
表达式的值时要执行的代码块。它并非强制要求,但使用它可以增强代码的健壮性,处理未预见的情况。
public class SwitchDefaultExample {
public static void main(String[] args) {
int day = 4;
switch (day) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
default:
System.out.println("其他日期");
}
}
}
2. 在接口中定义默认方法
从 Java 8 开始,接口中可以定义默认方法,使用 default
关键字来修饰。默认方法为接口提供了具体的方法实现,这样实现该接口的类可以选择是否重写这些默认方法。
// 定义一个接口
interface MyInterface {
// 抽象方法
void abstractMethod();
// 默认方法
default void defaultMethod() {
System.out.println("这是一个默认方法");
}
}
// 实现接口的类
class MyClass implements MyInterface {
@Override
public void abstractMethod() {
System.out.println("实现抽象方法");
}
}
public class DefaultMethodExample {
public static void main(String[] args) {
MyClass myClass = new MyClass();
myClass.abstractMethod();
myClass.defaultMethod();
}
}
3. 在 enum
类型中指定默认值(并非严格意义的 default
用法)
虽然没有直接使用 default
关键字指定枚举类型的默认值,但在实际应用中,开发人员会约定某个枚举常量为默认值。
enum Color {
RED, GREEN, BLUE;
public static Color getDefault() {
return RED;
}
}
public class EnumDefaultExample {
public static void main(String[] args) {
Color defaultColor = Color.getDefault();
System.out.println("默认颜色是: " + defaultColor);
}
}