• Kotlin属性引用进阶与构造方法引用


    继续还是探讨Kotlin反射相关的知识点,说实话这块不是太好理解,待在实际工作中去对它进行实践慢慢来加深印象。

    属性引用进阶:

    在Kotlin中的反射其实是跟Java的反射有对应关系的,具体相关的定义都放在下面这里:

    下面来看一下:

    下面看一下它的细节:

    继续来看这种映射:

    看一下细节:

    由于是咱们自定义的类,所以Java和Kotlin的class是一样的,但是如果用系统的类来做实验就不一样了,如下:

    构造方法引用(Constructor Reference):

    构造方法其实也是一个方法嘛,也存在引用,所以下面来看一下它如何来用:

    咱们来调用一下:

    还是有点难理解的,这里对于传构造方法引用的要求总结一下:

    1、函数对象的参数要与构造方法的参数保持一致(体现在参数个数与参数类型上)。

    2、函数对象的返回结果与构造方法所在类的类型保持一致。

    如果咱们将返回参数修改一下程序立马就会报错:

    引用特定对象的实例方法&属性:

    我们可以引用特定对象的一个实例方法,以前我们一般都是用"String::get"通过类来引用的,下面来看一下:

     

    那下面看下它的输出是多少?

    因为get引用是拿字符串中指定位置的字符,如下:

    下面再来看:

    如何理解?

     

    而该变量通过"test"::length的属性引用其值为4,所以最终打印就是4了。

    那如果通过String类的属性的引用实现上面同样的输出,要如何写呢,看下面:

  • 相关阅读:
    volatile关键字解析(转载)
    php
    FFT快速傅立叶变换
    高次不定方程BSGS算法
    BSGS-BabyStepGiantStep算法+拓展
    Java-数组-面向对象
    Java基础-方法(2)和数组
    Java基础-循环(2)和方法
    Java基础-循环结构
    Java基础-运算符
  • 原文地址:https://www.cnblogs.com/webor2006/p/11583725.html
Copyright © 2020-2023  润新知