在Java中,可以通过在接口的默认方法前加上关键字final
来使其不能被重写。关键字final
用于修饰方法时,表示该方法是最终版本,不能被子类重写。
示例代码如下:
public interface MyInterface {
default void myMethod() {
// 默认方法的实现
}
// 其他抽象方法
}
public class MyClass implements MyInterface {
// 重写接口的默认方法
@Override
public void myMethod() {
// 重写后的实现
}
}
如果在接口的默认方法前加上final
关键字,如下所示:
public interface MyInterface {
default final void myMethod() {
// 默认方法的实现
}
// 其他抽象方法
}
那么在实现该接口的类中,将无法重写该默认方法。
需要注意的是,关键字final
只能用于修饰类、方法和变量,不能用于修饰接口。但是可以在接口的默认方法上使用final
关键字来达到默认方法不能被重写的效果。
北极星训练营
DB TALK 技术分享会
Elastic 中国开发者大会
云+社区技术沙龙[第11期]
云+社区技术沙龙[第21期]
云+社区技术沙龙第33期
云+社区技术沙龙[第16期]
云+社区技术沙龙[第12期]
领取专属 10元无门槛券
手把手带您无忧上云