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

####前言:

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;

下面我们复写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。

本人博客:https://elfgirl.top/

你可能感兴趣的:(java笔记)