zoukankan      html  css  js  c++  java
  • java的interface和PHP的区别

    在PHP中,接口interface中只能包含抽象方法,在7开始,接口以及类中的方法可以声明返回值类型

    在Java中,接口interface可以有:

    (1)默认方法。默认方法可以提供一个默认实现

    (2)Object 类的方法。重新声明 的Object 类方法, 如 toString 或 clone, 这些声明有可能会让方法不再是抽象的。重新声明时不能也不需要extens Object

    如果接口中只有一个抽象方法,如果同时存在默认方法、Object 类方法、静态方法。Java也会认为这是一个函数式接口,那么我们可以使用lambda作为函数式接口的实现

    (3)在Java8中,我们可以使用匿名类去实现接口,而不需要去创建一个类,然后去implement这个接口。如果是函数式接口,甚至可以用lambda去表示这个方法的实现

     1     //类名::静态方法引用去简化lambada表达式
     2     static void staticMethodReference()
     3     {
     4         List<String> arrayList1  = new ArrayList<>(Arrays.asList("Peter", "Paul", "Mary" ));
     5         arrayList1.stream().map(String::toUpperCase).forEach(System.out::println);
     6     }
     7 
     8     //通过匿名类去实现Function接口
     9     static void anonymousClass()
    10     {
    11         List<String> arrayList1  = new ArrayList<>(Arrays.asList("Peter", "Paul", "Mary" ));
    12         arrayList1.stream().map(new Function<String, String>() {
    13             @Override
    14             public String apply(String s) {
    15                 return s.toUpperCase();
    16             }
    17         }).forEach(System.out::println);
    18     }
  • 相关阅读:
    (摘)Zebra打印机异常处理
    (摘)Chart Y轴设置为百分比
    关于ZFS、GPT、4K、Geom Label的一些说明
    (转)ASP.NET性能优化之分布式Session
    (转)WebService的事务处理
    SqlSever分页查询,仅扫描一次表
    (转)对.net系统架构改造的一点经验和教训
    字典树
    Ajax
    Lunix 命令
  • 原文地址:https://www.cnblogs.com/fengliang/p/14128106.html
Copyright © 2011-2022 走看看