java8-接口新特性

在读大学生,有什么不对的地方,望各位大神指正!

一丶创建一个接口(Demo.interface)

public interface Demo {
    //1.可以定义常量
    int MAX = 1;
    //2.可以定义静态方法
    public static void fun(){
        System.out.println("静态方法");
    }
    //3.可以定义抽象方法(不是新特性)
    abstract void fun1();
    //4.可以定义默认方法
    public default void fun2(){
        System.out.println("默认方法");
    }
}

二丶创建实现类并在实现类中测试(DemoTest.java)

public class DemoTest implements Demo {
    @Override
    public void fun1() {
        System.out.println("抽象方法");
    }
    //测试
    public static void main(String[] args) {
        DemoTest demoTest = new DemoTest();
        //可以调用抽象方法
        demoTest.fun1();
        //可以调用默认方法
        demoTest.fun2();
        //接口直接可以调用静态方法
        Demo.fun();
        //接口直接调用静态变量
        System.out.println(Demo.MAX);
    }
}

三丶总结

接口中除去可以定义抽象方法外,java8新增:可以在接口中定义常量,静态方法(static),默认方法(default)

实现类可以调用抽象方法和默认方法,而调用常量和静态方法则要通过接口直接调用! 


猜你喜欢

转载自blog.csdn.net/dongjinkun/article/details/80636906
今日推荐