>与类定义有关的关键字
- open :标示一个类,使得这个类可以被继承;
- abstract :标示一个抽象类,这个类默认为open;
- interface :标示一个接口,默认为open;
- internal :标示一个内部类(本篇略去);
- final :标示一个final类,不可被继承和重写;
- constructor :构造器关键词,用于主构造器时可以省略;
- init :初始化代码块,详见下文;
- public :权限修饰符,同JAVA;
- private :权限修饰符,同JAVA;
- protected 权限修饰符,同JAVA;
- lateinit :延迟初始化,用法见:>lateinit与by lazy的应用<;
- set()/get() :属性获取方法,涉及Backing Field机制,详见下文;
- override :函数/方法重写;
- field :后端变量(backing field关键字);
>类的定义
[权限修饰符][final|open|abstruct] class [<泛型>] 类名 [主构造器权限修饰符][主构造器] [:继承关系]{
$类属性定义
$类方法定义
}
接口的定义稍微不同:
interface 接口名 {
$接口属性定义
$接口方法定义
}
>类/接口属性定义
在Kotlin中,没有字段的设计,只有属性。
什么是字段和属性?
- 字段,也被叫做类成员,其一般定义形式为val s:Striing = "字段";
- 属性,带有set(