zoukankan      html  css  js  c++  java
  • Kotlin属性引用进阶与构造方法引用

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

    属性引用进阶:

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

    下面来看一下:

    下面看一下它的细节:

    继续来看这种映射:

    看一下细节:

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

    构造方法引用(Constructor Reference):

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

    咱们来调用一下:

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

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

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

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

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

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

     

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

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

    下面再来看:

    如何理解?

     

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

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

  • 相关阅读:
    JAVA 导包,使用前面的类~
    JAVA 类的定义(定义一个类,来模拟“学生”)
    Python 猜数游戏
    JAVA 数组作为方法参数—传递地址
    JAVA 数组作为方法返回值—返回地址
    JAVA 求数组中的最大值
    JAVA 数组元素的反转
    07-递归案例
    05-函数是一种类型
    06-递归
  • 原文地址:https://www.cnblogs.com/webor2006/p/11583725.html
Copyright © 2011-2022 走看看