- 接口中的属性接口中的属性只能是抽象的,不允许初始化值,接口不会保存属性值,实现接口时,必须重写属性: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...
- 下面将详细介绍 Android Kotlin 中 internal class、data class 和普通 class 的区别,并结合实际应用场景进行说明。 引言在 Android Kotlin 开发中,类是构建应用程序的基本蓝图。Kotlin 提供了多种类型的类,以满足不同的设计需求和代码组织方式。理解 internal class、data class 和普通 class 之间的区别对... 下面将详细介绍 Android Kotlin 中 internal class、data class 和普通 class 的区别,并结合实际应用场景进行说明。 引言在 Android Kotlin 开发中,类是构建应用程序的基本蓝图。Kotlin 提供了多种类型的类,以满足不同的设计需求和代码组织方式。理解 internal class、data class 和普通 class 之间的区别对...
上滑加载中
推荐直播
-
香橙派AIpro的远程推理框架与实验案例
2025/07/04 周五 19:00-20:00
郝家胜 -华为开发者布道师-高校教师
AiR推理框架创新采用将模型推理与模型应用相分离的机制,把香橙派封装为AI推理黑盒服务,构建了分布式远程推理框架,并提供多种输入模态、多种输出方式以及多线程支持的高度复用框架,解决了开发板环境配置复杂上手困难、缺乏可视化体验和资源稀缺课程受限等痛点问题,真正做到开箱即用,并支持多种笔记本电脑环境、多种不同编程语言,10行代码即可体验图像分割迁移案例。
回顾中 -
鸿蒙端云一体化应用开发
2025/07/10 周四 19:00-20:00
倪红军 华为开发者布道师-高校教师
基于鸿蒙平台终端设备的应用场景越来越多、使用范围越来越广。本课程以云数据库服务为例,介绍云侧项目应用的创建、新建对象类型、新增存储区及向对象类型中添加数据对象的方法,端侧(HarmonyOS平台)一体化工程项目的创建、云数据资源的关联方法及对云侧数据的增删改查等操作方法,为开发端云一体化应用打下坚实基础。
即将直播
热门标签