JDK1.8接口非抽象方法

Posted 花伤情犹在

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK1.8接口非抽象方法相关的知识,希望对你有一定的参考价值。

在 JDK1.8,允许我们给接口添加两种非抽象的方法实现:

  1. 默认方法,添加 default 修饰即可;

  2. 静态方法,使用 static 修饰;示例如下:

interface Test{
    //这个是默认方法
    default String get(String aa){
        System.out.println("我是jdk1.8默认实现方法...");
        return "";
    }   
    //这个是静态方法    
    static void staticmethod(){
        System.out.println("我是静态方法");
    }
}

调用得话,静态方法只能通过接口名调用,不可以通过实现类的类名或者实现类的对象调用,default 方法只能通过接口实现类的对象来调用。

public class Test {
    public static void main(String[] args) {
        new Test(){}.ze();//通过匿名内部类调用默认方法(这里的匿名内部类即实现类)
        Test.cnm2();//通过接口名称.方法名()
    }
}

以上是关于JDK1.8接口非抽象方法的主要内容,如果未能解决你的问题,请参考以下文章

jdk1.8新特性 : 接口中可以有普通方法(非静态方法)和静态方法 , 颠覆了之前我的理解 : 接口中只能有共有常量和抽象方法的概念,后面必须要加一句jdk1.7和1..7之前

大数据必学Java基础(四十五):JDK1.8以后的接口新增内容

jdk1.8新特性

图解jdk1.8新特性

随笔30 抽象类与接口

JDK1.8 —— 接口定义增强