📅  最后修改于: 2023-12-03 14:54:42.986000             🧑  作者: Mango
在Java8中,接口中可以有默认方法。默认方法就是在接口中定义方法的实现,任何实现该接口的类都会继承该方法的默认实现。这样的特性可以使得接口更加灵活,但是也增加了一些注意事项。
默认方法的定义形式如下:
public interface MyInterface {
default void myDefaultMethod() {
System.out.println("This is the default implementation of myDefaultMethod");
}
}
上述代码中,接口MyInterface
中定义了一个默认方法myDefaultMethod
。如果一个类实现了接口MyInterface
但没有具体实现该方法,那么该类将自动继承接口中的默认实现。如果一个类想要覆盖该方法,也可以在该类中覆盖该方法。
public class MyClass implements MyInterface {
@Override
public void myDefaultMethod() {
System.out.println("This is my implementation of myDefaultMethod");
}
}
在类MyClass
中覆盖了接口MyInterface
中的方法myDefaultMethod
。
default
修饰。equals()
、hasCode()
、toString()
等方法。Java8中引入了接口中的默认方法,其主要作用在于让接口更加灵活,但是也增加了一些注意事项,需要开发者在使用的同时,注意相关规范和规则的约束。