- 接口中的属性接口中的属性只能是抽象的,不允许初始化值,接口不会保存属性值,实现接口时,必须重写属性:interface MyInterface{ var name:String //name 属性, 抽象的 } class MyImpl:MyInterface{ override var name: String = "runoob" //重写属性 }实例interface MyInterf... 接口中的属性接口中的属性只能是抽象的,不允许初始化值,接口不会保存属性值,实现接口时,必须重写属性:interface MyInterface{ var name:String //name 属性, 抽象的 } class MyImpl:MyInterface{ override var name: String = "runoob" //重写属性 }实例interface MyInterf...
- Kotlin 接口与 Java 8 类似,使用 interface 关键字定义接口,允许方法有默认实现:interface MyInterface { fun bar() // 未实现 fun foo() { //已实现 // 可选的方法体 println("foo") } }实现接口一个类或者对象可以实现一个或多个接口。class Child : MyInterface { overrid... Kotlin 接口与 Java 8 类似,使用 interface 关键字定义接口,允许方法有默认实现:interface MyInterface { fun bar() // 未实现 fun foo() { //已实现 // 可选的方法体 println("foo") } }实现接口一个类或者对象可以实现一个或多个接口。class Child : MyInterface { overrid...
- Kotlin 中所有类都继承该 Any 类,它是所有类的超类,对于没有超类型声明的类是默认超类:class Example // 从 Any 隐式继承Any 默认提供了三个函数:equals()hashCode()toString()注意:Any 不是 java.lang.Object。如果一个类要被继承,可以使用 open 关键字进行修饰。open class Base(p: Int) ... Kotlin 中所有类都继承该 Any 类,它是所有类的超类,对于没有超类型声明的类是默认超类:class Example // 从 Any 隐式继承Any 默认提供了三个函数:equals()hashCode()toString()注意:Any 不是 java.lang.Object。如果一个类要被继承,可以使用 open 关键字进行修饰。open class Base(p: Int) ...
- 次构造函数类也可以有二级构造函数,需要加前缀 constructor:class Person { constructor(parent: Person) { parent.children.add(this) }}如果类有主构造函数,每个次构造函数都要,或直接或间接通过另一个次构造函数代理主构造函数。在同一个类中代理另一个构造函数使用 this 关键字:cla... 次构造函数类也可以有二级构造函数,需要加前缀 constructor:class Person { constructor(parent: Person) { parent.children.add(this) }}如果类有主构造函数,每个次构造函数都要,或直接或间接通过另一个次构造函数代理主构造函数。在同一个类中代理另一个构造函数使用 this 关键字:cla...
- 类定义Kotlin 类可以包含:构造函数和初始化代码块、函数、属性、内部类、对象声明。Kotlin 中使用关键字 class 声明类,后面紧跟类名:class Runoob { // 类名为 Runoob // 大括号内是类体构成}我们也可以定义一个空类:class Empty可以在类中定义成员函数:class Runoob() { fun foo() { print("Foo... 类定义Kotlin 类可以包含:构造函数和初始化代码块、函数、属性、内部类、对象声明。Kotlin 中使用关键字 class 声明类,后面紧跟类名:class Runoob { // 类名为 Runoob // 大括号内是类体构成}我们也可以定义一个空类:class Empty可以在类中定义成员函数:class Runoob() { fun foo() { print("Foo...
- 返回和跳转Kotlin 有三种结构化跳转表达式:return。默认从最直接包围它的函数或者匿名函数返回。break。终止最直接包围它的循环。continue。继续下一次最直接包围它的循环。在循环中 Kotlin 支持传统的 break 和 continue 操作符。fun main(args: Array<String>) { for (i in 1..10) { if ... 返回和跳转Kotlin 有三种结构化跳转表达式:return。默认从最直接包围它的函数或者匿名函数返回。break。终止最直接包围它的循环。continue。继续下一次最直接包围它的循环。在循环中 Kotlin 支持传统的 break 和 continue 操作符。fun main(args: Array<String>) { for (i in 1..10) { if ...
- For 循环for 循环可以对任何提供迭代器(iterator)的对象进行遍历,语法如下:for (item in collection) print(item)循环体可以是一个代码块:for (item: Int in ints) { // ……}如上所述,for 可以循环遍历任何提供了迭代器的对象。如果你想要通过索引遍历一个数组或者一个 list,你可以这么做:for (i in ... For 循环for 循环可以对任何提供迭代器(iterator)的对象进行遍历,语法如下:for (item in collection) print(item)循环体可以是一个代码块:for (item: Int in ints) { // ……}如上所述,for 可以循环遍历任何提供了迭代器的对象。如果你想要通过索引遍历一个数组或者一个 list,你可以这么做:for (i in ...
- When 表达式when 将它的参数和所有的分支条件顺序比较,直到某个分支满足条件。when 既可以被当做表达式使用也可以被当做语句使用。如果它被当做表达式,符合条件的分支的值就是整个表达式的值,如果当做语句使用, 则忽略个别分支的值。when 类似其他语言的 switch 操作符。其最简单的形式如下:when (x) { 1 -> print("x == 1") 2 -> pr... When 表达式when 将它的参数和所有的分支条件顺序比较,直到某个分支满足条件。when 既可以被当做表达式使用也可以被当做语句使用。如果它被当做表达式,符合条件的分支的值就是整个表达式的值,如果当做语句使用, 则忽略个别分支的值。when 类似其他语言的 switch 操作符。其最简单的形式如下:when (x) { 1 -> print("x == 1") 2 -> pr...
- 字符和 Java 不一样,Kotlin 中的 Char 不能直接和数字操作,Char 必需是单引号 ' 包含起来的。比如普通字符 '0','a'。fun check(c: Char) { if (c == 1) { // 错误:类型不兼容 // …… }}字符字面值用单引号括起来: '1'。 特殊字符可以用反斜杠转义。 支持这几个转义序列:\t、 \b、\n、\r、... 字符和 Java 不一样,Kotlin 中的 Char 不能直接和数字操作,Char 必需是单引号 ' 包含起来的。比如普通字符 '0','a'。fun check(c: Char) { if (c == 1) { // 错误:类型不兼容 // …… }}字符字面值用单引号括起来: '1'。 特殊字符可以用反斜杠转义。 支持这几个转义序列:\t、 \b、\n、\r、...
- Kotlin 的基本数值类型包括 Byte、Short、Int、Long、Float、Double 等。不同于 Java 的是,字符不属于数值类型,是一个独立的数据类型。类型位宽度Double64Float32Long64Int32Short16Byte8字面常量下面是所有类型的字面常量:十进制:123长整型以大写的 L 结尾:123L16 进制以 0x 开头:0x0F2 进制以 0b 开头... Kotlin 的基本数值类型包括 Byte、Short、Int、Long、Float、Double 等。不同于 Java 的是,字符不属于数值类型,是一个独立的数据类型。类型位宽度Double64Float32Long64Int32Short16Byte8字面常量下面是所有类型的字面常量:十进制:123长整型以大写的 L 结尾:123L16 进制以 0x 开头:0x0F2 进制以 0b 开头...
- 字符串模板$ 表示一个变量名或者变量值$varName 表示变量值${varName.fun()} 表示变量的方法返回值:var a = 1// 模板中的简单名称:val s1 = "a is $a" a = 2// 模板中的任意表达式:val s2 = "${s1.replace("is", "was")}, but now is $a"NULL检查机制Kotlin的空安全设计对于声明可为... 字符串模板$ 表示一个变量名或者变量值$varName 表示变量值${varName.fun()} 表示变量的方法返回值:var a = 1// 模板中的简单名称:val s1 = "a is $a" a = 2// 模板中的任意表达式:val s2 = "${s1.replace("is", "was")}, but now is $a"NULL检查机制Kotlin的空安全设计对于声明可为...
- Kotlin 文件以 .kt 为后缀。包声明代码文件的开头一般为包的声明:package com.runoob.mainimport java.util.*fun test() {}class Runoob {}kotlin源文件不需要相匹配的目录和包,源文件可以放在任何文件目录。以上例中 test() 的全名是 com.runoob.main.test、Runoob 的全名是 com.ru... Kotlin 文件以 .kt 为后缀。包声明代码文件的开头一般为包的声明:package com.runoob.mainimport java.util.*fun test() {}class Runoob {}kotlin源文件不需要相匹配的目录和包,源文件可以放在任何文件目录。以上例中 test() 的全名是 com.runoob.main.test、Runoob 的全名是 com.ru...
- 选择一个最新的稳定版下载。下载完成后,解压到指定目录,然后将 bin 目录添加到系统环境变量。bin 目录包含编译和运行 Kotlin 所需的脚本。SDKMAN!在 OS X、Linux、Cygwin、FreeBSD 和 Solaris 系统上也可以使用更简单的安装方法,命令如下:$ curl -s https://get.sdkman.io | bash$ sdk install kotl... 选择一个最新的稳定版下载。下载完成后,解压到指定目录,然后将 bin 目录添加到系统环境变量。bin 目录包含编译和运行 Kotlin 所需的脚本。SDKMAN!在 OS X、Linux、Cygwin、FreeBSD 和 Solaris 系统上也可以使用更简单的安装方法,命令如下:$ curl -s https://get.sdkman.io | bash$ sdk install kotl...
- Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。第一个 Kotlin 程序K... Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。第一个 Kotlin 程序K...
- 🏆本文收录于「滚雪球学SpringBoot」专栏(全网一个名),手把手带你零基础入门Spring Boot,从入门到就业,助你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!环境说明:Windows 10 + IntelliJ IDEA 2021.3.2 + Jdk 1.8 📜 前言:Kotlin与Spring Boot的结合Kotlin是一... 🏆本文收录于「滚雪球学SpringBoot」专栏(全网一个名),手把手带你零基础入门Spring Boot,从入门到就业,助你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!环境说明:Windows 10 + IntelliJ IDEA 2021.3.2 + Jdk 1.8 📜 前言:Kotlin与Spring Boot的结合Kotlin是一...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考
2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本
2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签