美文网首页Java
Java8对接口的升级

Java8对接口的升级

作者: TZX_0710 | 来源:发表于2019-09-16 09:45 被阅读0次
在JDK 1.7及更老的版本中,接口中只能包含常量与抽象方法两种内容,
不允许包含其他。但是这种情况在JDK 1.8中已经改变:接口中允许包含default方法和static方法并指定方法体的具体实现
我们可以采用接口去实现多态性质
@FunctionalInterface
public interface Phone {

    //拨打电话
    void call();
}

public class IPhone implements Phone
{
    @Override
    public void call() {
        System.out.println("FACE TIME");
    }
}

public class Gralxy implements  Phone {

    @Override
    public void call() {
        System.out.println("call me");
    }
}
public class ExampleTest {
    public static void main(String[] args) {
      usePhone(new IPhone() );
      usePhone( new Gralxy());
    }


    private static void  usePhone(Phone phone){
        try {
            phone.call();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

接口升级 给每一个iphone再增加一个视频的功能

1.传统方法 在Phone接口中增加一个视频方法 然后实现类再去实现
2.采用Java8方式 Java8中允许接口中存在默认方法 即default修饰的方法
或者静态方法

@FunctionalInterface
public interface Phone {

    //拨打电话
    void call();

    static void video(){
        System.out.println("视频聊天");
    }
}

总结:Java8的默认方法为我们在某些特定场景 解决了很多方法

相关文章

网友评论

    本文标题:Java8对接口的升级

    本文链接:https://www.haomeiwen.com/subject/pqaiyctx.html