Java--8--新特性--接口中的变化!!

package InterfaceP;
public interface Interface1 {
    default String getName(){
        return "Interface1";
    }
}
//-----------------------------------------
package InterfaceP;
public interface Interface2 {
    default String getName(){
        return "Interface2";
    }
    static void m(){
        System.out.println("静态方法  interface 2");
    }
}
//-----------------------------------------
package InterfaceP;

public class InterfaceImpl extends MyClass implements Interface1,Interface2{


    public static void main(String[] args) {
        System.out.println(new InterfaceImpl().getName());
        Interface2.m();
        //来来来
        //静态方法  interface 2

    }

    @Override
    public String getName() {
        return "来来来";
    }

    /**
     * 有测试得出的结果有
     *      1. 当一个类实现多个接口和同时继承一个类的时候,类和接口中都有相同的方法,那么调用的是类中的。
     *          这里有一个“类优先”原则。
     *      2. 在接口中,如果一个实现类实现了两个接口,两个接口中有相同的default方法,那么在实现类中必须进行重写一方接口中的方法并且实现类会有区分的去调用不同接口中的方法
     *      3. default修饰的方法体可以有多个
     *      4. static 修饰的方法体可以有多个
     *      5. 在接口中,static方法直接用接口名去调用
     */
}

以上就是接口中的需要注意的一些情况,如果有补充的请及时提醒我啊!!

posted @ 2017-11-29 20:28  Bap  阅读(428)  评论(0编辑  收藏  举报