JAVA8新特性总结一(接口函数默认实现)

JAVA8新特性总结一(接口函数默认实现)

xinghuo0007 
 

前言:

java8出来以后有很长的时间,以前都知道java8但是项目中一个没有使用到,所以一直就没有看。现在有机会来学习一下java8。

特性一:接口函数默认实现

说明:
    1.在java8中接口中的函数可以有默认的实现了,这样是接口更加的灵活。可以在接口中写一个通用默认的实现,减少实现类实现代码;
    如果默认的实现方法不能满足需求,显示类也可以重写。
    
    2.前提:
        默认实现的前提是方法名称必须使用default关键字修饰;来看下面的案例

案例代码:

/**
    定义接口
*/
interface DAO {
    default int getInt(){
        return 5;
    }
}

/**
 *  接口实现类
 * */
class BasicDAO implements DAO{

    public int getIntDefaultValue(){

        return getInt();
    }
}

/**
 * 测试类
 */
public class Test {

    public static void main(String[] args) {
        BasicDAO basicDAO = new BasicDAO();
        //结果为 5 
        System.out.println(basicDAO.getIntDefaultValue());
    }
}

结果为:5

####总结:

   1.可见我们为DAO接口定义的getInt方法中有默认的实现,返回值为5;在实现类BasicDAO中并没有重写getInt方法,而是直接调用。所以结果返回的是5;
1
下面我们复写DAO接口中的getInt方法:

/**
    定义接口
*/
interface DAO {

    default int getInt(){

        return 5;
    }
}


/**
 *  接口实现类
 * */
class BasicDAO implements DAO{

    public int getIntDefaultValue(){

        return getInt();
    }
    
     @Override
    public int getInt(){
        return 88;
    }
}


/**
 * 测试类
 */
public class Test {

    public static void main(String[] args) {
        BasicDAO basicDAO = new BasicDAO();
        //结果为 88 
        System.out.println(basicDAO.getIntDefaultValue());
    }
}

结果为: 88

####总结:

   1. 我们在BasicDAO实现类里面复写了getInt方法,结果得到的结果是88。
1
本人博客:https://elfgirl.top/
————————————————
版权声明:本文为CSDN博主「xinghuo0007」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xinghuo0007/article/details/78594156

原文地址:https://www.cnblogs.com/grj001/p/12223036.html