JDK8后接口中新特性静态方法

76 阅读1分钟
package com.itbaizhan.Testinterface;

//测试接口中的新特性(默认方法,静态方法)
public interface TestDefault{

    void printInfo();

    default void moren(){
        System.out.println("TestDefault.moren");
        System.out.println("测试默认方法");
        testStatic01();//默认方法中可以调用静态方法**
    }

    public static void testStatic01(){
        System.out.println("TestDefault.testStatic01");
    }


}
class TestDefaultImpl01 implements TestDefault {

    @Override
    public void printInfo() {
        System.out.println("TestfaultImple01.printInfo");
    }
    public static void testStatic01(){
        System.out.println("TestDefault.testStatic01");//属于子类的方法,与接口中的不同
}
package com.itbaizhan.Testinterface;

public class Test {

    public static void main(String[] args) {
        Angel a = new Angel();
        a.fly();
        a.helpOther();
        System.out.println(Volant.FlY_HIGHT);

        Volant a2 = new Angel();
        a2.fly();

        System.out.println("=========测试默认方法=========");
        TestDefault td = new TestDefaultImpl01();
        td.printInfo();
        td.moren();
        System.out.println("========测试静态方法=========");
        TestDefaultImpl01.testStatic01();
    }
}