实例化不需要new 关键字,只需要 写出 类名() 就可以,或者调用的 类有实现构造函数的话就需要调用 类名(参数) 传入参数
构造函数关键字 constructor
如:
class A{}
class B()constructor(a: String,b: Int){}
class C{
// 第一种实现
A()
// 第二种实现
val reference = A()
// 第三种实现
val reference = C("reference",5)
}
(6) 用不同的方式初始化父类
如:
// 使用super关键字初始化父类构造方法
open class View{
constructor(ctx context){
// some code
}
constructor(ctx: context,attr: AttributeSet){
// some code
}
}
// 在构造方法后加上 : super关键字可以初始化父类的构造方法
class MyButton: View{
constructor(ctx: Context):super(ctx){
}
constructor(ctx: Context,attr: AttributeSet){
}
}
// 又或者构造方法末尾用 :this 格式使用this关键字委托给当前类的另一个构造方法
class MyView: View{
constructor(ctx: Context): this(ctx, MY_STYLE){
}
constructor(ctx: Context,attr: AttributeSet): super(ctx, attr){
}
}
网友评论