kotlin教程
文章平均质量分 67
基于kotlin1.9.20版本教程基础教程
我是匿名用户
这个作者很懒,什么都没留下…
展开
-
26:kotlin 类和对象 -- 委托属性(Delegation properties )
尽管每次需要时都可以手动实现一些常见类型的属性,但将它们实现一次、添加到库中以便以后重用会更为方便为了涵盖这些(以及其他)情况,kotlin支持委托属性(delegated properties)。在by之后的表达式是一个委托,因为与属性对应的get()(和set())将被委托给其getValue()和setValue()方法。属性委托不必实现一个接口,但它们必须提供一个getValue()函数(对于var还需要提供setValue()thisRef${propertynamevalue${原创 2023-12-07 11:18:23 · 1510 阅读 · 0 评论 -
25:kotlin 类和对象 -- 委托(Delegation )
委托模式已被证明是实现继承的一种良好替代方案,而kotlin对其提供本地支持,无需编写样板代码实现类(Derived)可以将公共成员委托给其他类来实现一个接口(Base)ThebyBaseb。原创 2023-12-07 08:53:47 · 580 阅读 · 0 评论 -
24:kotlin 类和对象 -- 对象表达式和声明(Object expressions and declarations)
如果需要创建一个稍微修改了某个类的对象,而不需要显式地声明一个新的子类。Kotlin可以通过对象表达式(object expressions)和对象声明(object declarations)来处理这种情况。原创 2023-12-06 13:40:52 · 1852 阅读 · 0 评论 -
23:kotlin类和对象 -- 内联值类(Inline value classes)
有时,将一个值包装在一个类中可以创建一个更具领域特定类型的类。然而,由于额外的堆分配,这会引入运行时开销。此外,如果包装的类型是原始类型,性能损失是显著的,因为原始类型通常由运行时进行了大量优化,而它们的包装类没有得到任何特殊处理。为了解决这些问题,kotlin引入了一种特殊类型的类,称为内联类(inline class)。内联类是值类()的一个子集。它们没有身份,只能持有值。要声明一个内联类,请在类名之前使用value修饰符要在JVM后端声明一个内联类,可以在类声明之前使用value修饰符以及。原创 2023-12-06 09:29:13 · 887 阅读 · 0 评论 -
22:kotlin 类和对象 -- 枚举类(Enum classes)
枚举类最基本的用例是实现类型安全的枚举每个枚举常量都是一个对象。枚举常量以逗号分隔。由于每个枚举都是枚举类的一个实例,因此可以将其初始化为。原创 2023-12-05 10:34:58 · 686 阅读 · 0 评论 -
21:kotlin 类和对象 -- 嵌套类和内部类(Nested and inner classes)
类可以嵌套在另一个类中类和接口也可以相互嵌套。原创 2023-12-05 10:34:23 · 419 阅读 · 0 评论 -
20:kotlin 类和对象 --泛型(Generics)
类可以有类型参数要创建类实例,需提供类型参数如果类型可以被推断出来,可以省略。原创 2023-12-04 14:20:38 · 1187 阅读 · 0 评论 -
19:kotlin 类和对象 -- 密封类和接口(Sealed classes and interfaces )
使用sealed关键字声明一个密封类或者接口密封类和接口能够很好的控制继承,在密封类和接口定义的模块和包外无法被继承在编译期我们就已知了所有的密封类和接口的实现类。在某种意义上,密封类类似于枚举类:枚举类型的值集也是受限制的,但枚举常量只存在为单个实例,而密封类的子类可以有多个实例,每个实例都有自己的状态。举例来说,有个公共方法模块,定义了一个顶级错误密封类Error,只要是模块中捕获了Error的子类异常,就证明是当前模块抛出的错误,可以根据子类类型分别作出不同的处理。原创 2023-12-04 08:38:47 · 476 阅读 · 0 评论 -
18:kotlin 类和对象 -- 数据类(Data classes)
数据类是其主要目的是保存数据的类。数据类会自动附带额外的成员方法使用data声明一个数据类编译器会自动从中声明的所有属性派生以下成员.equals()(在后边的文章会讲到).copy()为了确保生成的代码的一致性和有意义的行为,数据类必须满足以下要求valvar.equals()openfinal.copy()在JVM上如果需要一个无参构造函数,需要给主构造函数的参数指定默认值。原创 2023-12-01 09:40:30 · 1010 阅读 · 0 评论 -
17:kotlin 类和对象 -- 扩展(Extensions )
扩展是kotlin提供了一种在不必继承自类或使用装饰器等设计模式的情况下,为类或接口添加新功能的能力。例如,你可以为无法修改的来自第三方库的类或接口编写新函数。这些函数可以像原始类的方法一样被通常调用。这种机制称为扩展方法。还有扩展属性,允许你为现有的类定义新的属性。原创 2023-12-01 09:40:06 · 1415 阅读 · 0 评论 -
16:kotlin类和对象 -- 可见性修饰符(Visibility modifiers)
类(Classes)、对象(objects)、接口(interfaces)、构造函数(constructors)和方法(functions),以及属性(properties )及其setters,都可以有可见性修饰符。Getter的可见性始终与它们所属的属性相同。private(私有)、protected(受保护的)、internal(内部的)和public(公共的)。默认可见性是public(公共的)。原创 2023-11-30 08:44:46 · 491 阅读 · 0 评论 -
15:kotlin 类和对象 -- 函数式接口(Functional (SAM) interfaces)
只有一个抽象方法的接口被称为函数接口,或者称为单一抽象方法(SAM)接口。函数接口可以有多个非抽象成员,但只能有一个抽象成员。原创 2023-11-30 08:44:20 · 627 阅读 · 1 评论 -
14:kotlin类和对象 -- 接口(Interfaces)
接口可以包含抽象方法和普通方法。与抽象类的不同之处在于接口不能存储状态。它们可以拥有属性,但这些属性需要是抽象的或定义访问器使用关键字interface来定义接口。原创 2023-11-29 13:26:58 · 591 阅读 · 0 评论 -
13:kotlin类和对象 -- 属性(Properties)
类属性可使用var和val定义属性使用。原创 2023-11-29 11:44:36 · 1574 阅读 · 0 评论 -
12:kotlin类和对象 -- 继承
kotlin中的所有类都有一个共同的超类equals()hashCode()和toString()。默认情况下,kotlin类是final修饰的,所以它们不能被继承。要使一个类可继承,用open关键字修饰继承一个类如果实现类有主构造函数,则必须在该主构造函数中根据其参数初始化基类。如果实现类没有主构造函数,则每个次构造函数都必须使用super关键字初始化父类型,或者它必须委托给另一个构造函数来执行。请注意,在这种情况下,不同的次构造函数可以调用父类的不同构造函数。原创 2023-11-28 15:01:04 · 731 阅读 · 0 评论 -
11:kotlin 类和对象 -- 普通类
前面粗咯的讲了类,这篇详细介绍类及相关的概念定义类使用关键字类声明由(指定其类型参数、主构造函数等)和由{}包围的组成。类头和类体都是可选的;如果类没有体,可以省略。原创 2023-11-28 13:21:05 · 1220 阅读 · 0 评论 -
10:kotlin 异常(Exceptions )
所有的异常类都继承自Throwable类抛出异常使用throw表达式捕获一个异常使用表达式可以有零个或多个catch块,finally可以省略。然而,至少需要一个catch或finally。原创 2023-11-27 11:12:12 · 648 阅读 · 0 评论 -
9:kotlin 返回和跳过(Returns and jumps)
kotlinreturn会从最近的封闭函数或匿名函数返回。break终止最近的封闭循环。continue继续最近的封闭循环的下一步。所有这些表达式都可以作为其他表达式的一本分使用这行代码的意思是尝试从person对象中获取name属性的值,并将其赋值给变量s。如果存在,那么它的值就会被赋值给s。但是,如果为null,那么return语句会被执行,当前函数会立即返回,不再执行后续的代码。这是Elvis操作符?的一个常见用法。原创 2023-11-27 11:11:46 · 536 阅读 · 0 评论 -
8:kotlin 类型检查和转换(Type checks and casts)
is!is在运行时可以执行类型检查以检查对象的类型。类型转换将对象强制转换为不同的类型is。原创 2023-11-24 11:22:24 · 1314 阅读 · 0 评论 -
7:kotlin 数组 (Arrays)
数组是一种数据结构,它保存固定数量的相同类型或其子类型的值。kotlin中最常见的数组类型是对象类型数组,数组由array类表示。原创 2023-11-24 10:38:15 · 1621 阅读 · 0 评论 -
6:kotlin 空值安全(Null safety)
在Kotlin中,是可以有空值的。为了防止程序中出现空值问题,Kotlin实施了空值安全。空值安全在编译时而不是运行时检测到可能的空值问题。原创 2023-11-23 15:09:32 · 218 阅读 · 0 评论 -
5:kotlin 类(Classes )
kotlin支持面向对象编程,也有雷和对象的概念要声明一个类需要使用class关键字。原创 2023-11-23 14:44:26 · 856 阅读 · 0 评论 -
4:kotlin 方法(Functions)
kotlin方法声明原创 2023-11-22 16:16:48 · 635 阅读 · 0 评论 -
3:kotlin 逻辑控制(Control flow)
向其他语言一样,kotlin也有循环和逻辑控制。原创 2023-11-22 13:24:27 · 692 阅读 · 0 评论 -
2:kotlin集合(Collections)
kotlin 集合基本介绍原创 2023-11-22 10:40:36 · 697 阅读 · 0 评论 -
1:kotlin基本数据类型
kotlin中有以下基本数据类型ByteShortIntLongUByteUShortUIntULongFloatDoubleBooleanCharString。翻译 2023-11-21 09:24:06 · 107 阅读 · 0 评论 -
kotlin学习前置技能
kotlin学习前置技能翻译 2023-11-20 10:47:40 · 25 阅读 · 0 评论