
Kotlin学习笔记
蓋亞光
积跬步以至千里
展开
-
Kotlin学习笔记(十一)集合,区间
集合Kotlin中,区别可变集合和不可变集合(lists,sets,maps等),不可变集合只提供了有关读的api,没有编辑的api,如果我们要修改集合,只能通过可变集合去修改。这样的设计有助于我们降低bug和设计良好的api。fun foo(){ var readOnlyList:List<Int>//声明一个只读list var mutableList= mutableListO原创 2017-06-16 12:04:52 · 721 阅读 · 0 评论 -
Kotlin学习笔记(九)函数,Lambda表达式
函数Kotlin中,使用fun关键字定义一个函数,函数参数使用 Pascal 表示法定义,即 name: type。参数用逗号隔开。每个参数必须有显式类型。fun foo(arg1:String,arg2:Boolean,arg3:Int):Int{ //do somethong return 1}当函数只有单个表达式时,可以省略花括号,直接写在=之后,如果返回值类型可由编译器推断原创 2017-06-15 10:43:42 · 8159 阅读 · 0 评论 -
Kotlin学习笔记(八)对象
提示:本文为作者阅读Kotlin中文站学习笔记,建议读者移步Kotlin中文站完整学习。有时候我们需要对某个类做轻微改动的类的对象,而不用为之显式声明新的子类。Java中用匿名内部类来处理这种情况,Kotlin中则用对象表达式和对象声明来实现。对象表达式要创建一个继承自某个类的匿名类的对象,我们可以这么写: fun addListener(){ var edt:EditText=原创 2017-06-14 14:10:22 · 632 阅读 · 0 评论 -
Kotlin学习笔记(七)数据类,密封类,嵌套类,内部类,枚举类
提示:本文为作者阅读Kotlin中文站学习笔记,建议读者移步Kotlin中文站学习完整教程。数据类开发中,我们经常需要创建一些只保存数据的类。Kotlin中,我们用data关键字定义一个数据类,编译器会自动从主构造函数中声明的所有属性生成以下成员:equals()/hashCode()对toString()componentN() 按声明顺序对应于所有属性如果这些函数中的任何一个在类体中显式原创 2017-06-14 10:25:17 · 911 阅读 · 0 评论 -
Kotlin学习笔记(一) 基本数据类型
提示:本文为作者阅读Kotlint中文站笔记,建议读者移步Kotlint中文站完整学习。在Kotlin中,任何变量都是对象,从这个意思上讲我们可以在任何一个变量上调用成员函数和属性。数字Kotlin提供了以下的内置类型表示数字:TypeBit WidthDouble64Float32Long64Int32Short16Byte8注意:Kotlin中字符不是数字。我们可以原创 2017-06-09 17:10:07 · 1789 阅读 · 1 评论 -
Kotlin学习笔记(六)扩展
提示:本文为作者阅读Kotlin中文站学习笔记,建议读者移步Kotlin中文站完整学习。Kotlin中,我们可以扩展一个类的函数和属性,而无需继承这个类或使用像装饰者这样的设计模式。声明一个扩展函数,我们需要一个接受者类型也就是被扩展的类型作为前缀,例如下面代码给Context扩展一个toast函数fun Context.toast(message: String, duration: Int =原创 2017-06-13 16:24:01 · 486 阅读 · 0 评论 -
Kotlin学习笔记(五)接口,可见性修饰符
提示:本文为作者阅读Kotlin中文站学习笔记,建议读者移步Kotlin中文站完整学习。接口Kotlin中,使用关键字interface定义一个接口。与Java8类似,接口中即可以包含抽象方法的声明,也可以包含实现。与抽象类不同的时,接口不保存属性的状态,属性要么声明为抽象,要么提供访问器实现。并且在接口中声明的属性没有幕后字段,所以在访问器中不能引用field字段。interface Base {原创 2017-06-13 11:46:53 · 1445 阅读 · 0 评论 -
Kotlin学习笔记(四)属性
属性Kotlin的类可以有属性。我们可以使用var关键字声明一个可变的属性,或val关键字声明一个只读的属性。class R{ var a:String=""//var 声明一个可变的属性 val b:String=""//val 声明一个只读的属性}声明一个属性的完整语法是:var <propertyName>[: <PropertyType>] [= <property_ini原创 2017-06-12 17:56:05 · 464 阅读 · 0 评论 -
Kotlin学习笔记(三)类和继承
类Kotlin中,使用class关键字生命一个类。类声明由类名,类头(指定其类型参数,主构造函数等)和大括号括起来的类体组成。class A public constructor(arg1:String){}Kotlin中,一个类可以有一个主构造函数或和一个或多个次构造函数。主构造函数是类头的一部分,跟在类名(和可选的类型参数)后面,如果主构造函数没有任何注解或可见性修饰符,可以省略construc原创 2017-06-12 16:25:34 · 565 阅读 · 1 评论 -
Kotlin学习笔记(二)循环,跳转
包源文件通常以包声明开头,源文件所有内容都包含在声明的包内,如果没有声明包,文件内容属于无声明的默认包。当我们创建一个Kotlin文件时,Android studio会帮我们在文件顶部自动声明包。package com.gyg.kolinKotlin会默认导入一些包到文件中,除了默认导入的包,开发者也需要导入自己的包,可以单独导入包下的某一个内容,也可以导入包下的所有内容。当命名冲突时,可以通过as原创 2017-06-12 14:07:00 · 726 阅读 · 0 评论 -
Kotlin学习笔记(十)解构声明
Kotlin中,我们可以将一个对象解构成多个变量:data class Person(val name:String="Kotlin",val sex:String="男",val age:Int=1)fun foo(){ var (name,sex,age)=Person() print("name=$name&sex=$sex&age=$age")}这就是解构声明。解构声明可以原创 2017-06-15 16:08:53 · 1476 阅读 · 0 评论