定义
在Java中,default关键字主要用于接口中定义默认方法。默认方法提供了一个默认实现,使得接口在不破坏现有实现类的情况下可以添加新的方法。这样,实现类可以选择性地覆盖这些默认方法。
使用场景
当需要向现有接口添加新方法,但又不想破坏已有的实现类时,可以使用默认方法。
提供一个合理的默认行为(让接口据有抽象类的功能),使得实现类可以选择是否覆盖该方法。
代码示例
public interface MyInterface {
// 抽象方法
void abstractMethod();
// 默认方法
default void defaultMethod() {
System.out.println("This is a default method.");
}
}
public class MyClass implements MyInterface {
@Override
public void abstractMethod() {
System.out.println("Implemented abstract method.");
}
// 可选:覆盖默认方法
@Override
public void defaultMethod() {
System.out.println("Overridden default method.");
}
}
注意事项
默认方法不能是静态的(使用static关键字),静态方法需要使用static关键字声明。
默认方法不能是私有的(使用private关键字),私有方法需要使用private关键字声明。
默认方法不能是抽象的(使用abstract关键字),抽象方法只能在接口中声明,没有方法体。
评论区