
Kotlin基础学习
文章平均质量分 69
邹奇
热爱技术,热爱分享,锻炼身体!坚持开源分享!!!
展开
-
Android Kotlin基础学习 - 委托
文章目录背景内容类委托属性委托定义一个被委托的类标准委托延迟属性 Lazy可观察属性 Observable把属性存储在映射中NOT NULL局部委托属性属性委托要求翻译规则背景学习 记录分享 坚持开源!内容委托模式是软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。Kotlin 直接支持委托模式,更加优雅,简洁。Kotlin 通过关键字 by 实现委托。类委托类的委托即一个类中定义的方法实际是调用另一个类的对象的方法原创 2021-03-26 17:45:52 · 164 阅读 · 0 评论 -
Android Kotlin基础学习 - 对象表达式和对象声明
文章目录背景说明对象表达式对象声明伴生对象对象表达式和对象声明之间的语义差异背景学习 记录分享 坚持开源!说明Kotlin 用对象表达式和对象声明来实现创建一个对某个类做了轻微改动的类的对象,且不需要去声明一个新的子类。对象表达式通过对象表达式,可以让方法的参数使用某个匿名内部类的对象。window.addMouseListener(object : MouseAdapter() { override fun mouseClicked(e: MouseEvent) {原创 2021-03-24 18:35:43 · 274 阅读 · 2 评论 -
Android Kotlin基础学习 - 枚举类
文章目录背景说明枚举初始化使用枚举常量实例背景学习 记录分享 坚持开源!说明枚举类最基本的用法是实现一个类型安全的枚举。枚举常量用逗号分隔,每个枚举常量都是一个对象。enum class Color { RED,WHITE,BLACK,BLUE,PINK}枚举初始化每一个枚举都是枚举类的实例,它们可以被初始化:enum class Color(val rgb: Int) { RED(0xff0000), BLUE(0x0000ff)}枚举支原创 2021-03-23 11:43:25 · 585 阅读 · 0 评论 -
Android Kotlin基础学习 - 泛型
文章目录背景定义泛型函数声明实例泛型约束型变声明处型变星号投射(类型投影)背景学习 记录分享 坚持开源!定义泛型,即 “参数化类型”,将类型参数化,可以用在类,接口,方法上。与 Java 一样,Kotlin 也提供泛型,为类型安全提供保证,消除类型强转的烦恼。声明一个泛型类:class Game<T> (t: T) { var value = t;}创建类的实例,需要指定类型参数: val game: Game<String> = Gam原创 2021-03-22 14:36:08 · 374 阅读 · 0 评论 -
Android Kotlin基础学习 - 数据类与密封类
文章目录背景数据类复制实例数据类以及解构声明标准数据类密封类背景学习 记录分享 坚持开源!数据类Kotlin 可以创建一个只包含数据的类,关键字为 data:// Kotlin 可以创建一个只包含数据的类,关键字为 datadata class DataUser(val name: String, val age: Int) { }编译器会自动的从主构造函数中根据所有声明的属性提取以下函数:equals() / hashCode()toString() 格式如 “Use原创 2021-03-18 11:28:48 · 480 阅读 · 0 评论 -
Android Kotlin基础学习 - 扩展
文章目录背景扩展函数实例扩展函数是静态解析的实例扩展一个空对象扩展属性伴生对象的扩展扩展的作用域扩展声明为成员背景学习 记录分享 坚持开源!Kotlin 可以对一个类的属性和方法进行扩展,且不需要继承或使用 Decorator 模式。扩展是一种静态行为,对被扩展的类代码本身不会造成任何影响。扩展函数扩展函数可以在已有类中添加新的方法,不会对原类做修改,扩展函数定义形式:fun receiverType.functionName(params){ body}recei原创 2021-03-17 16:41:33 · 275 阅读 · 0 评论 -
Android Kotlin基础学习 - 接口
文章目录背景接口定义接口实现实例接口中的属性实例函数重写实例背景学习,记录分享,坚持开源!接口定义Kotlin 接口与 Java 8 类似,使用 interface 关键字定义接口,允许方法有默认实现:interface MyInterface { fun call() // 未实现 fun call2A(){ // 已实现 println("> call2A 允许方法有默认实现") }}接口实现一个类可以实现一个或多个接口。/原创 2021-03-16 11:02:21 · 516 阅读 · 0 评论 -
Android Kotlin基础学习 - 继承
文章目录背景构造函数子类有主构造函数子类没有主构造函数重写属性重写背景学习,记录分享,坚持开源!Kotlin 中所有类都继承 Any 类,它是所有类的父类。对于没有父类型声明的类, Any 类就是其默认父类:/** * 隐式继承 Any 类 */class Implicit{}Any 类默认提供了三个函数:/** * Indicates whether some other object is "equal to" this one. Implementations原创 2021-03-15 18:09:43 · 260 阅读 · 0 评论 -
Android Kotlin基础学习 - 类和对象
文章目录背景类定义类的属性属性定义getter 和 setter实例主构造器实例次构造器背景学习,记录分享,坚持开源!类定义Kotlin 类定义可包含:构造函数和初始化代码块、函数、属性、内部类和对象声明。Kotlin 中使用关键字 class 声明类,后面紧跟类名称。如下:class ImxiaoqiXxx{ // 类名为 W3cschool // 大括号内是类体构成}可以在类中定义成员函数。如下:class ImxiaoqiXxx() { fun sing()原创 2021-03-12 18:13:28 · 271 阅读 · 0 评论 -
Android Kotlin基础学习 - 函数
文章目录函数定义可变长参数函数lambda(匿名函数)高阶函数背景学习,分享记录,坚持开源!函数定义函数使用关键字 fun ,参数格式为:[参数: 类型]。示例: /** * 函数定义使用关键字 fun,参数格式为:[参数:类型] */ fun sum(a: Int, b: Int): Int { return a+b; }表达式作为函数体,返回值的类型根据表达式最终结果值类型自动推断。示例: /** * 表达式作为原创 2021-03-10 15:29:29 · 308 阅读 · 0 评论 -
Android Kotlin 基础学习 - 条件语句
文章目录背景内容背景学习 分享记录 坚持开源!内容Kotlin 提供了条件表达式。跟 java 中的写法略有不同,在 Kotlin 中写法如下: number = 88; // 每个条件分支都隐式地返回其最后一行的表达式的结果,因此无需使用 return 关键字 val answer : String = if (number > 88){ "number is more than 88" }else{原创 2021-03-09 15:08:25 · 282 阅读 · 0 评论 -
Android Kotlin 基础学习 - Null 安全 && 可为 Null 性
文章目录背景Null 安全可为 Null 性背景分享记录 坚持开源!Null 安全默认情况下,Kotlin 不能持有 null 值。例如以下代码编译无法通过:var secure : String = null;要使变量持有 null 值,它必须是可为 null 类型。可以在变量类型后面加上 ? 后缀,将变量指定为可为 null,如以下示例所示:var secure : String? = null;指定 String? 类型后,可以为 secure 赋予 String 值或 n原创 2021-03-09 14:33:11 · 474 阅读 · 0 评论 -
Android Kotlin 基础学习 - 类型推断
文章目录背景内容背景学习 kotlin 编程语言的基础知识 …坚持开源!内容Kotlin 编译器会根据变量所赋值的类型来推断出变量的类型声明一个变量如下:var typeInfer = "类型推断";由于值是 String 类型,故变量 typeInfer 也会被编译器推断为 String 类型。请注意,Kotlin 是一种静态类型的语言。这意味着,类型将在编译时解析且从不改变。因为是 String 类型,故无法对其调用任何不属于 String 类的函数,如下图示:因为原创 2021-03-08 15:43:58 · 345 阅读 · 0 评论 -
Android Kotlin 基础学习 - 变量声明
文章目录背景内容背景学习 kotlin 编程语言的基础知识 …坚持开源!内容Kotlin 使用关键字 var 和 val 声明变量。val 用于值从不更改的变量。使用 val 声明的变量无法重新赋值。var 用于值可以更改的变量。var 声明变量示例如下:var number : Int = 10;// var 用于值可以更改的变量val 声明变量示例如下:val language : String = "Kotlin";// val 用于值从不更改的变量图示如下:原创 2021-03-08 11:49:51 · 253 阅读 · 0 评论 -
Android Kotlin 基础学习 - Kotlin了解概览
文章目录背景概览一些优点背景多学点东西,记录下,分享啥的 …坚持开源!概览使用 Kotlin 更快地编写更出色的 Android 应用Kotlin 是一种新型的静态类型编程语言,有超过 60% 的专业 Android 开发者在使用,它有助于提高工作效率、开发者满意度和代码安全性一些优点富有表现力且简洁Kotlin 的现代语言功能让您可以专注于表达自己的想法,少编写样板代码。更安全的代码借助自身类型系统所含的 @Nullable 和 @NonNull,原创 2021-03-08 10:51:52 · 219 阅读 · 0 评论