JDK8新特性总结
1.接口interface
- 接口中可以有static方法,但必须有方法体,该方法只属于该接口,通过接口名.方法名调用
- 接口中新增default关键字修饰的方法,default方法只能定义在接口中,可以在子类或子接口中被重写
interface IFather { // 抽象方法 void test(); // static修饰符定义静态方法 static void staticMethod() { System.out.println("接口中的静态方法"); } // default修饰符定义默认方法,默认方法不是抽象方法,可以重写也可以不重写 default void defaultMethod() { System.out.println("接口中的默认方法"); } } class Child implements IFather { // 抽象方法的实现 @Override public void test() { System.out.println("子类实现的普通抽象方法"); } // default方法可以重写也可以不重写 @Override public void defaultMethod() { System.out.println("子类重写的默认方法"); } } public class Test { public static void main(String[] args) { // static方法通过类调用 IFather.staticMethod(); Child child = new Child(); child.test();// 调用普通方法 // default方法通过对象调用,因为子类重写过,所以输出子类重写的 child.defaultMethod(); /**输出结果: * 接口中的静态方法 * 子类实现的普通抽象方法 * 子类重写的默认方法 */ } }
浙公网安备 33010602011771号