Kotlin 构造器和单例模式

本文介绍了Kotlin中的构造器使用,包括默认无参构造器、带参构造器的简化声明以及构造器的可见性。同时,讨论了Kotlin的继承规则,强调了`open`修饰符的作用。此外,文章详细阐述了Kotlin实现单例模式的独特方式,通过将类声明为`object`,可以直接使用类名调用单例。还提到了类中的伴生对象,它类似于静态属性,可以省略名字,默认为`Companion`。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

class AA{
    init {
        
    }
}

1.这是一个最简单的类,他没有在头部做任何构造器的声明,这时他拥有一个默认的无参构造器,而这个构造器的内容要放在init块中。如果构造器没有操作的话,init可以省略。

如果不想暴露这个构造器,可以在声明时设为private:

class AA private constructor()


2.声明带参构造器:

(1)我们经常使用的一种构造器是传入参数为类的属性赋值,这里kotlin可以简化为直接声明一个带参构造器,不必声明属性:

class AA (name:String,id:String)
(2)在类中创建其他构造器:

class AA(a:Int) {
    constructor(a:Int,b:Int):this(a){

    }
}

直接声明的构造器是顶级构造器,类中其他构造器需要调用这个构造器并向里面传值。如果没有直接声明任何构造器则无需。


3.继承
带有open修饰符的类才能被继承,带有open的函数才能被重写。

继承的时候必须指出父类构造器,有参数要往里面传参数:

class App : Application()
类中的构造器也要往声明的父类构造器里传参数:
constructor(ctx: Context) : super(ctx) {
    }


4.单例模式:

Kotlin的单例模式巨简单,只需要把类的class关键字换成object即可,调用的时候直接用类名。需要注意的object修饰符不支持任何构造器。

类中可以有伴生对象,用法和静态属性一样,这个对象的名字可以省略,默认为Companion:

class HuabanService {
    companion object A{
有趣的是,被这个伴生对象包住的方法可以用类名直接引用,相当于静态方法,所以类中的静态方法可以用这么一个伴生对象包起来。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值