Kotlin学习之路
蓝枫amy
Android开发工程师、HarmonyOS开发工程师
展开
-
新建支持 Kotlin 的 Android 项目
新建支持 Kotlin 的 Android 项目File -> New -> New Project …Choose your project -> Phone and Tablet -> Empty ActivityConfigure your project -> Language 选择 「Kotlin」项目根目录下的build.gradl...原创 2020-02-19 11:35:33 · 280 阅读 · 0 评论 -
Kotlin基础二
知识点:(1) Kotlin中的构造器用constructor表示(2) Kotlin中的init代码块,在实例化时执行,执行顺序在次构造器之前(3) Kotlin中通过类直接引用:companion object(4) Kotlin中所有的类的基类是Any,Java中所有类的基类是Object(5) Kotlin中创建单例,把class换成object(6)...原创 2019-10-08 17:22:17 · 202 阅读 · 0 评论 -
Kotlin基础一
知识点:(1) 在 Kotlin 里面,所有的变量默认都是不允许为空的,如果你给它赋值 null,就会报错(2) Kotlin的空安全设计(3)在类型后面加一个"?"解除非空限制,意思是可以为null(4) 对变量做一次非空确认后再调用的方法 --view?.setBackgroundColor(Color.RED) 另一种做法:view!!.setBackgroundColor...原创 2019-10-08 11:42:18 · 336 阅读 · 1 评论 -
Kotlin数据类与密封类
数据类Kotlin可以创建一个只包含数据的类,关键字为datadata class User(val name: String, val age: Int)编译器会主动的从主构造函数中根据所有声明的属性获取以下函数equals() / hashCode()toString() 格式如 "User(name=John, age=42)"componentN() functio...翻译 2019-09-27 17:02:27 · 119 阅读 · 0 评论 -
Kotlin扩展
Kotlin可以对一个类的属性和方法进行扩展,且不需要继承或使用Decorator模式扩展是一种静态行为,对被扩展的类代码本身不会造成任何影响以下实例扩展User类class User(var name:String)/**扩展函数**/fun User.Print(){ print("用户名 $name")}fun main(arg:Array<Strin...翻译 2019-09-24 11:12:04 · 87 阅读 · 0 评论 -
Kotlin接口
Kotlin接口与java类似,使用interface关键字定义接口interface MyInterface { fun bar() // 未实现 fun foo() { //已实现 // 可选的方法体 println("foo") }}实现接口一个类或者对象可以实现一个或多个接口。class Child : MyIn...翻译 2019-09-24 10:30:56 · 96 阅读 · 0 评论 -
Kotlin继承
Kotlin中所有类都继承Any类,它是所有类的超类Any默认提供了三个函数equals()、hashCode()、toString()如果一个类要被继承,使用open关键字进行修饰open class Base(p: Int) // 定义基类class Derived(p: Int) : Base(p)子类有主构造函数open class Pe...翻译 2019-09-23 19:33:05 · 92 阅读 · 0 评论 -
Kotlin类和对象
类定义Kotlin类可以包括:构造函数和初始化代码块、函数、属性、内部类、对象声明Kotlin中使用关键字class声明类,后面紧随类名class Student{}也可以声明一个空类class Teacher类的属性属性定义类的属性可以使用关键字var声明为可变的、val声明不可变的class Student{ var name:String...翻译 2019-09-21 16:14:42 · 101 阅读 · 0 评论 -
Kotlin循环控制
for循环 val items = listOf("刘备", "关羽", "张飞") for (item in items) { Log.i("zhoujian", "item=" + item) } for (index in items.indices) { Log.i("zh...翻译 2019-09-19 15:53:24 · 210 阅读 · 0 评论 -
Kotlin条件控制
if表达式 var max: Int var a: Int = 5 var b: Int = 9 if (a > b) { max = a } else { max = b } var a: Int = 5 ...翻译 2019-09-19 14:51:12 · 149 阅读 · 0 评论 -
Kotlin基本数据类型
Kotlin的基本数据类型包括Byte (8位)、Short (16位)、Int (32位)、Long (64位)、Float (32位)、Double(64位)不同于java的是,字符不属于数值类型,是一个独立的数据类型字面常量十进制:124Long型:以大写L结尾:123L16进制以0x开头:0x0F2进制以0b开头:0b1001Double默认写法是:123.5...翻译 2019-09-17 19:58:16 · 502 阅读 · 0 评论 -
Kotlin基础语法
package com.zhoujian.kotlindemoimport android.support.v7.app.AppCompatActivityimport android.os.Bundleimport android.util.Logclass MainActivity : AppCompatActivity() { override fun onCreat...原创 2019-09-17 19:16:16 · 80 阅读 · 0 评论 -
Kotlin基础-函数和变量
1.Hello world! fun main(args:Array<String>){ println("hello world") } 2.函数 fun max(a: Int, b: Int): Int { return if (a > b) a else b } println(max(1,2)...原创 2018-12-18 19:16:42 · 120 阅读 · 0 评论 -
Kotlin学习之流程控制语句
流程控制语句可分为:分支语句(if、when)循环语句(for、while)跳转语句(return、break、continue、throw等)1. if表达式if-else 语句是控制程序流程的基本形式 max(1, 2) Log.i("zhoujian", "最大值为:" + max(1, 2)); /** * 返回值为Int 的比较大小的函数 */ privat...翻译 2018-06-12 11:14:21 · 223 阅读 · 0 评论 -
Kotlin学习之变量类型推断和字符串模板
1.变量类型推断(1)省去变量类型Kotlin中大部分情况下不需要说明使用对象的类型,编译器可以直接推断出它的类型 /** * 变量类型推断 */ private fun concludeType() { //省去变量类型 val str = "abc" val b = str is String Log...翻译 2018-06-12 10:00:43 · 824 阅读 · 0 评论 -
Kotlin学习之声明变量和值
在Kotlin中,一切都是对象。所以,所有变量也都是对象(也就是说,任何变量都是根据引用类型来使用的)Kotlin的变量分为var(可变的)、val(不可变的)var 是可写的,在它生命周期中可以被多次赋值;val 是只读的,仅能一次赋值,后面就不能被重新赋值。...翻译 2018-06-11 17:01:41 · 2037 阅读 · 0 评论 -
Kotlin学习之开发环境配置
1.安装Kotlin插件依次打开:Android Studio > Preferences > Plugins安装后,重启Android Studio2.转换Java to Kotlin3.完整的配置文件Project build.gradlebuildscript { ext.kotlin_version = '1.2.41' repositories { ...翻译 2018-06-11 16:54:06 · 1168 阅读 · 0 评论