面试:Kotlin class、data class、object、companion object区别

本文介绍了Kotlin中的数据类(dataclass)、类(Class)、object静态类以及companionobject的区别与用法,适合初学者理解Kotlin面向对象编程的基本构造。

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

一、data class:

kotlin中的数据类,只保存一些数据字段,类似于java bean,oc中的model。

写法:注意后面是() ,不是{}

data class yourClassName(
    val name: String,
    val age: Int,
    val sex: Boolean
)

二、Class:

class这个很简单。

class MineActivity : AppCompatActivity()  {
    val subName = ""
 
    fun a(){
 
    }
}

调用:

var mine = MineActivity()
mine.subName
mine.a()

三、object:

kotlin中使用"object"修饰静态类,可用于util工具类中。

例如:

object UserUtil {
    val guoji = "中国"
    fun getName(): String {
        return "小红"
    }
}

调用:

UserUtil.getName()
UserUtil.guoji

四、class中有 object:

class MyActivity {
     object MyObject{
        const val subName = ""
 
         fun a(){
 
         }
    }
}

调用:

MyActivity.MyObject.subName
MyActivity.MyObject.a()

五、class中 有companion object:

class MyActivity {
    companion object MyObject {
        const val subName = ""
 
        fun a(){
 
        }
    }
}

调用:

MyActivity.subName
MyActivity.a()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值