• 201671010139 徐楠 关于Java的一些体验


    1.lambda表达式

      Lambda 表达式的语法基本结构
                (arguments) -> body
    有如下几种情况:
    参数类型可推导时,不需要指定类型,如
                 (a) -> System.out.println(a)
    只有一个参数且类型可推导时,不强制写 (), 如
                  a -> System.out.println(a)
    参数指定类型时,必须有括号,如 (int a) -> System.out.println(a)
    参数可以为空,如 () -> System.out.println(“hello”)
    body 需要用 {} 包含语句,当只有一条语句时 {} 可省略

     

    2.Java 8 包 java.util.function包含常用的函数式接口:
    Function<T, R> - 函数:输入 T 输出 R
    BiFunction<T, U, R> - 函数:输入 T 和 U 输出 R 对象
    Predicate<T> - 断言/判断:输入 T 输出 boolean
    BiPredicate<T, U> - 断言/判断:输入 T 和 U 输出 boolean
    Supplier<T> - 生产者:无输入,输出 T
    Consumer<T> - 消费者:输入 T,无输出
    BiConsumer<T, U> - 消费者:输入 T 和 U 无输出
    UnaryOperator<T> - 单元运算:输入 T 输出 T
    BinaryOperator<T> - 二元运算:输入 T 和 T 输出 T

    3.内部类
    内部类(inner class)是定义在另一个类内部的类。
    外层的类成为外部类(outer class).
    内部类主要用于事件处理。
    使用内部类的原因有以下三个:
    内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据。
    内部类能够隐藏起来,不为同一包中的其他类所见。
    想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。
    内部类的声明格式如下:
        
    [修饰符] class outerClass{
            …
            [修饰符] class innerClass{
                …
            }
            …
        }

    内部类可以直接访问外部类的成员,包括private成员,但是内部类的成员却不能被外部类直接访问。
    在内部类对象保存了一个对外部类对象的引用,当内部类的成员方法中访问某一变量时,如果在该方法和内部类中都未定义过这个变量,内部类中对变量的引用会被传递给外部类对象的引用。





  • 相关阅读:
    骑士飞行棋第二版(已完善)
    骑士飞行棋第一版(掷骰子方法分开)
    do -while语句的使用
    随机数例子(Random)
    Day6_time模块
    Day6_正则表达式
    Day6_内置函数
    centos6-7克隆主机网卡无法启动问题
    rsync+innotify做到同步式更新
    apache压力测试工具的apache bench和JMeter的安装
  • 原文地址:https://www.cnblogs.com/xunan-1998/p/7673982.html
Copyright © 2020-2023  润新知