java8 新特性2-接口中的默认方法和静态方法

一 java8中的默认方法

1.1 java8接口中的方法

java8之后接口中方法不仅可以有声明还可以有方法的实现。Java 8允许在接口中定义带方法体的默认方法和静态方法。常见接口包含内容:

  • 常量

    public static final

  • 抽象方法

    public abstract

  • 默认方法(Java 8)

  • 静态方法(Java 8)

  • 私有方法(Java 9)

1.2  代码案例

1.接口

package jiekou;

public interface MyInterface {
    public default  String sayMessage(){
        return "nihao";
    }
    public static String  sayInfo(){
        return "静态方法";
    }
}

2.调用

        MyInterface myInterface=new My();
        String s=myInterface.sayMessage();
        System.out.println("s:"+s);

 注意:

  • 默认方法不是抽象方法,所以不强制被重写。但是可以被重写,重写的时候去掉default关键字

  • public可以省略,default不能省略

二  java8中的静态方法

2.1 代码案例

  • 静态方法只能通过接口名调用,不能通过实现类名或者对象名调用

  • public可以省略,static不能省略


public interface MyInterface {
    public default  String sayMessage(){
        return "nihao";
    }
    public static String  sayInfo(){
        return "静态方法";
    }
}

2.调用

    String ss=MyInterface.sayInfo();
        System.out.println("ss:"+ss);

三  java9中的私有方法

  • 默认方法可以调用私有的静态方法和非静态方法

  • 静态方法只能调用私有的静态方法

在java8中还不允许这样写私有方法。

java8 新特性2-接口中的默认方法和静态方法_第1张图片

 格式:

java8 新特性2-接口中的默认方法和静态方法_第2张图片

 

你可能感兴趣的:(java8,java,开发语言)