该文为个人学习笔记,如有错误,请各位大佬指导~~~
针对于一些未具体说明知识点,后续会进行补充。
知识点可能会有点杂乱无章,请各位担待。
关键字
1.申明:
--open override fun inline inner internal data companion object lateinit var val
2.判断:
--when in is
3.运算:
--and or
4.类型:
--Any Unit
5.基本类型:
--Boolean Byte Short Int Long Float Double Char
6.其他
--by as lazy init downTo
----------------------------------------------------------------------------------------------
一.对象
1.static 变量或者方法:companion object
--eg.
companion object{
//TODO 进行编写~~~
}
2.变量类型:var 表示的是“通常的变量”,val 则表示的是“不可变变量”
变量类型是写在变量名之后的,用英文冒号 : 隔开,类型声明不是必须的,如果后面的值是一个明显可识别的类型,就不必添加类型声明。
--eg.
val SHARE_GOOGLE_PLUS: Int = 0x1001
或者
val SHARE_GOOGLE_PLUS = 0x1001
var subject = ""
3.创建对象
var view: View = View(activity)
----------------------------------------------------------------------------------------------
二.方法
1.方法申明;fun
2.重写父类方法: override 关键字
--eg.
override fun xxx(){}
3.方法参数:对象:类名
--eg.
override fun share(activity: Activity, shareContent: ShareContent
, listener: ShareListener) {
}
----------------------------------------------------------------------------------------------
三.类
1.继承、实现: 使用分号
--eg.
--继承
class ShareImageToEmail : ShareLocalImage(){}
--实现接口
class TestImp :Test{}
2.构造函数
--eg.
constructor(){
}
3.继承+多接口实现
class ShareImp:Extents(),Imp1,Imp2{}
----------------------------------------------------------------------------------------------
四.判断使用规则
1.针对于对象使用前判空 : ?修饰
--eg.
listener?.onError(shareContent.platform, IllegalArgumentException(""))
2.保证该变量在后续使用中不会出现为空情况: !! 修饰
--eg.
if (null != listener) {
startIntent(activity, listener!!, shareContent)
}
----------------------------------------------------------------------------------------------
备注:
1.kotlin 的关键字与java 不同~~~~ 比如 in 、 is 、 data 使用时,需要用单引号进行修饰
--eg.
‘is’
2.使用when关键字代替if
--eg.
var view: View = View(activity)
when (view) {
is TextView -> toast("")
else -> toast("")
}
3.in
--eg.
val list = arrayListOf(1,2,3,4)
list.add(5)
list.remove(3)
for(item in list){
//TODO
}
4.by
5.is
--is 和java中instanceof是一个作用判断是否为某个类型。!is即判断不是某个类型。
6.$ 字符模板 $<变量>、${<变量>}
--eg.
"$str" 值
"${tvContent?.text}" 对象的值
"${init("", "")}" 方法
7.枚举
--eg.
enum class Color{
RED,BLACK,BLUE,GREEN,WHITE
}
8.downTo
9.step
10.vararg
11.as
1)导入包时,可以设置类的别名
--eg.
import android.widget.TextView as tv
2.初始化变量时
--eg.
12.Unit 返回值
--与void 相似 可以不写~~~
网友评论