Kotlin中的修饰符
2021-06-17 本文已影响0人
盛世光阴
前言
Kotlin
是一种在Java
虚拟机上运行的静态类型编程语言,被称之为Android
世界的Swift
,在Google
I/O2017中,Google
宣布Kotlin
成为Android
官方开发语言
类的修饰符
final
修饰的类表示最终类,不可被继承,kotlin中默认创建的类是最终类
open
被修饰的类可以作为基类被继承
abstract
抽象类,和java
中相同
enmu
枚举类,kotlin中的枚举类需要这样声明
enmu class Type{
TYPE1,TYPE2
}
data
数据类,如果类中没有函数只存在属性定义,那么这个类可以被定义为数据类
data class Response(val code: String, val data: String)
- 会自动生成
toString
函数,打印属性值 - 会自动生成
componentx
函数,直接用于 解构声明 - 会自动生成
equals
函数,equals
和==
将会比较属性的值,而不是对象
Response
Response(String,String)
getCode(): String
getData(): String
component1(): String
component2(): String
copy(String,String): Response
toString(): String
haseCode(): int
equals(Object): boolean
code:String
data:String
Log.e("mike", "----${Response("1","2") == Response("1","2")}----") //true
sealed
声明一个密封类,用来表示受限的类继承结构:当一个值为有限几种的类型, 而不能有任何其他类型时,在某种意义上,他们是枚举类的扩展
- 密封类和它的子类需要定义在同一个文件中
- 密封类会生成抽象类,不能用公开的构造函数
sealed class Locked
class SLocked:Locked()
class FLocked:Locked()
class PLocked:Locked()
一般用于when语句的判断
when(obj){
SLocked - > {}
FLocked - > {}
PLocked - > {}
}
annotation
声明一个注解类
inline
声明一个 内联类
object
声明一个对象,主要用于单例模式
private
私有
public
公开(默认)
变量的修饰符
var
修饰可变量
val
修饰不可变量
const val
修饰常量 与val的区别?
internal
相同模块可以访问
private
私有
public
公开(默认)
函数的修饰符
inline
内联函数
public
公开(默认)
private
私有
override
重写
operator
运算符重载
infix
中缀函数
abstract
抽象
tailrec
尾递归函数
reified
泛型的实化
欢迎关注Mike的简书
Android知识整理