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类的属性的引用实现上面同样的输出,要如何写呢,看下面:

  • 相关阅读:
    【转】浅谈Node.js单线程模型
    进程
    网络编程:tcp、udp、socket、struct、socketserver
    Python基础练习
    面向对象:其他双下方法
    isinstance、issubclass、反射
    面向对象:__getitem__、__setitem__、__delitem__
    面向对象:classmethod、staticmethod、property
    面向对象:继承、多态、封装
    异常处理
  • 原文地址:https://www.cnblogs.com/webor2006/p/11583725.html
Copyright © 2011-2022 走看看