1.1、初始化类:主构造方法和初始化语句块
class User(val nickname : String) 主构造方法
1)表明构造方法的参数。 2)使用这些参数初始化的属性。
class TwitterUser(nickname:String):User(nickname){...}
继承父类同样要初始化父类的构造方法。
class Secretive private constructor{} private的构造方法不能实例化
1.2、构造方法:用不同的方式来初始化父类
open class View{
constructor(ctx:Context){...}
constructor(ctx:Context , attr:AttributeSet){...}
}
class MyButton:View{
constructor(ctx:Context):super(ctx){...} //也可用this(ctx,null)委托给两个参数的构造方法
constructor(ctx:Context,attr:AttributeSet):super(ctx,attr){...}
}
1.3、实现接口中的声明属性
Kotlin中接口可以包含抽象属性声明
interface User { val nickname : String }
1.4、通过getter或setter访问支持字段
class User(val name :String){
var address:String= " unspecified ";
set(value:String){
println(" address was changed ")
filed = value ;
}
}
特殊的标识符filed来访问支持字段的值,它只能在属性访问器中使用。
1.5、修改访问器的可见性
class lengthCounter{
var counter:int = 0 ;
private set ;
fun addWord(word : String) { counter += word.length }
}
不想counter被用户更改,将setter构造私有 。
网友评论