返回顶部
首页 > 资讯 > 精选 >Kotlin this详解及实例
  • 136
分享到

Kotlin this详解及实例

kotlinthishis 2023-05-31 12:05:12 136人浏览 安东尼
摘要

Kotlin this详解及实例为了表示当前函数的接收者(receiver), 们使用this表达式: 在类的成员函数中,this指向这个类的当前对象实例; 在扩展函数中,或带接收者的函数字面值(function literal) 中,

Kotlin this详解及实例

为了表示当前函数的接收者(receiver), 们使用this表达式:

  1. 在类的成员函数中,this指向这个类的当前对象实例;
  2. 在扩展函数中,或带接收者的函数字面值(function literal) 中, this 代表调用函数时, 在点号左侧传递的接收者参数;

如果this没有限定符,那么它指向包含当前代码的最内层范围.如果想要指向其他范围内的this,需要使用标签限定符。

带限定符的this

为了访问更外层范围(比如 类, 或 扩展函数, 或有标签的 带接受者的函数字面值)内的 this, 我们使用this@label , 其中的 @label 是一个标签, 代表我们想要访问的this所属的范围:

class A { // 隐含的标签 @A  inner class B { // 隐含的标签 @B    fun Int.foo() { // 隐含的标签 @foo      val a = this@A // 指向 A 的 this      val b = this@B // 指向 B 的 this      val c = this // 指向 foo() 函数的接受者, 一个 Int 值      val c1 = this@foo // 指向 foo() 函数的接受者, 一个 Int 值      val funLit = lambda@ fun String.() {        val d = this // 指向 funLit 的接受者      }      val funLit2 = { s: String ->        // 指向 foo() 函数的接受者, 因为包含当前代码的 Lambda 表达式没有接受者        val d1 = this      }    }  }}

--结束END--

本文标题: Kotlin this详解及实例

本文链接: https://lsjlt.com/news/225756.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Kotlin this详解及实例
    Kotlin this详解及实例为了表示当前函数的接收者(receiver), 们使用this表达式: 在类的成员函数中,this指向这个类的当前对象实例; 在扩展函数中,或带接收者的函数字面值(function literal) 中,...
    99+
    2023-05-31
    kotlin this his
  • Kotlin 的注解类详解及实例
    Kotlin 的注解类详解及实例注解声明注解是将元数据附加到代码的方法。要声明注解,请将 annotation 修饰符放在类的前面:annotation class Fancy...
    99+
    2023-05-31
    kotlin 注解类
  • Kotlin 泛型详解及简单实例
     Kotlin 泛型详解概述一般类和函数,只能使用具体的类型:要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的代码,这种刻板的约束对代码的限制很大。而OOP的多态采用了一种泛化的机制,在SE 5种,Java引用了泛...
    99+
    2023-05-31
    kotlin 泛型
  • Kotlin 内联函数详解及实例
    Kotlin 内联函数详解及实例概述在说内联函数之前,先说说函数的调用过程。调用某个函数实际上将程序执行顺序转移到该函数所存放在内存中某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去前要保护现场并记...
    99+
    2023-05-31
    kotlin 内联函数
  • Android Kotlin开发实例(Hello World!)及语法详解
    Android Kotlin开发实例及语法详解前言Kotlin是一种在 Java虚拟机上执行的静态型别编程语言,它主要是由俄罗斯圣彼得堡的JetBrains开发团队所发展出来的编程语言。该语言有几个优势 简洁 它大大减少你需要写的样板代码...
    99+
    2023-05-31
    android kotlin roi
  • Kotlin 基础语法实例详解
    Kotlin 基础语法实例详解包定义和引入Java一样,在文件开头, 行结束不需要” ; “package com.test.helloimport android.os.Bundle...
    99+
    2023-05-31
    kotlin 基础语法 实例详解
  • Kotlin操作符重载实例详解
    目录算数运算操作符重载复合运算操作符重载一元运算操作符重载比较操作符重载集合和区域的约定迭代运算符重载解构声明总结算数运算操作符重载 在kotlin中我定义一个类 data clas...
    99+
    2024-04-02
  • kotlin 之单例类详解
    object 单例对象的声明: object Model{ var temp = "1" val temp2 = "2" const val temp3 = "3"} 抛出疑问:使...
    99+
    2023-09-02
    kotlin java
  • Java 中This用法的实例详解
     Java 中This用法的实例详解用类名定义一个变量的时候,定义的只是一个引用,外面可以通过这个引用来访问这个类里面的属性和方法。    那们类里面是够也应该有一个引用来访问自己的属性和方法纳?&n...
    99+
    2023-05-31
    java this ava
  • kotlin之闭包案例详解
    闭包,函数式编程福音 先了解函数式编程(Functional Programming) 概念:它属于“结构化编程”的一种,主要思想是把运算过程尽量写成一系列嵌套的函数调用。函数式编程...
    99+
    2024-04-02
  • Android Kotlin的使用及简单实例
    Android Kotlin的使用及简单实例写在前面的话,作为一个不熬夜的人,一觉醒来发现Kotlin成为了Android的官方语言,可谓是大喜过望。为了趁热打铁,我决定提前三天放出原定本周日Release的文章。希望能及时让大家了解一下K...
    99+
    2023-05-31
    android kotlin roi
  • Kotlin lateinit与by lazy案例详解
    lateinit 和 lazy 是 Kotlin 中的两种不同的延迟初始化的实现 lateinit 只用于变量 var,而 lazy 只用于常量 val lazy 应用于单例模式(...
    99+
    2024-04-02
  • Android Kotlin使用SQLite案例详解
    Kotlin使用SQLite 首先确定我们的目标,SQLite只是一种工具,我们需要掌握就是增删改查就可以,我们真正需要动脑的还是项目中的业务逻辑。我这篇文章写得比较适合新手,没用过...
    99+
    2024-04-02
  • java中构造方法及this关键字的用法实例详解(超详细)
    目录初识构造方法 构造方法的使用 初识this this.xx的用法this()用于构造函数的调用总结初识构造方法  我们上篇讲了java中类...
    99+
    2024-04-02
  • Kotlin 语言中调用 JavaScript 方法实例详解
    Kotlin 语言中调用 JavaScript 方法实例详解Kotlin 已被设计为能够与 Java 平台轻松互操作。它将 Java 类视为 Kotlin 类,并且 Java 也将 Kotlin 类视为 Java 类。但是,JavaScri...
    99+
    2023-05-31
    kotlin javascript avascript
  • js词法作用域与this实例详解
    目录前言实践总结前言 静态作用域又叫做词法作用域,采用词法作用域的变量叫词法变量。词法变量有一个在编译时静态确定的作用域。词法变量的作用域可以是一个函数或一段代码,该变量在这段代码区...
    99+
    2024-04-02
  • Java Process详解及实例
    RuntimeJava可以通过Runtime来调用其他进程,如cmd命令,shell文件的执行等。可以应该该类设置系统时间,执行shell文件。此处记录几个有用应用如下。设置本地时间可以调用cmd /c date命令,完成本地时间设置,不过...
    99+
    2023-05-31
    java process ava
  • Kotlin协程Dispatchers原理示例详解
    目录前置知识demostartCoroutineCancellableintercepted()函数DefaultScheduler中找dispatch函数Runnable传入Wor...
    99+
    2022-11-13
    Kotlin协程Dispatchers Kotlin Dispatchers
  • kotlin实现语音聊天机器人案例详解
    目录一.机器人聊天—对话adapter的实现二.机器人聊天—机器人实时对话实现此篇文章紧做关于语音机器人聊天开发,后续功能实现请关注后续文章!!! 此篇文章完...
    99+
    2023-02-16
    kotlin语音聊天机器人 kotlin语音机器人 kotlin聊天机器人
  • java @interface 注解详解及实例
    java @interface 注解详解及实例1 简介在Java中,定义注解其实和定义接口差多不,只需要在interface前添加一个@符号就可以,即 @interface Zhujie{ },这就表明我们定义了一个名为 @Zhujie 的...
    99+
    2023-05-31
    java @interface 注解
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作