Kotlin笔记:类的定义与构造函数 ( 主构造器 / 次构造器 )

本文介绍了Kotlin中的可见性修饰符,如public、private、protected和internal,并详细讲解了Kotlin类的定义,包括主构造器和次构造器的使用。主构造器是类头的一部分,可以没有初始化代码,而次构造器需调用主构造器。

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

Kotlin中的可见性修饰符:public,protected,private,internal,如果不加任何修饰符,默认是public

public:默认修饰符,被其修饰的在任何位置都能访问;

private:表示只在这个类(以及它的所有成员)之内可以访问;

protected:在当前类及其子类内访问;

internal:在同一模块内使用;

Kotlin中类的定义:

// 类的定义
class kotlin {

}

类的构造器:

在Kotlin中一个类可以有一个主构造函数和一个或多个次构造函数;

主构造函数是类头的一部分:它跟在类名后。如果主构造函数没有任何注解或可见性修饰符,constructor关键字可省略,否则是必须的;

主构函数不能包含任何代码,初始化代码放在以init关键字作为前缀的初始化块中;

主构函数的参数可以在初始化块中使用,也可以在类体内声明的属性初始化器中使用;

主构造器:

    // 主构造器一般在类的后面加上 constructor() 关键字,后面为传入的参数    

    // 定义主构造器 写法一
    class Person constructor(name: String){
        init {
            println(name)
        }
    }

   // 定义主构造器 写法二
   // 构造器的可见性默认为public,如果可见性为public,可以省略可见性描述符,可见性描述符被省略了,constructor也可以省略
    class Person (name: String){
        init {
            println(name)
        }
    }

    //  main函数中调用
    fun main(arge: Array<String>) {
        Person("HaHa")
    }

Run:

次构造器:

次构造函数声明前缀有 constructor;

class kotlin {
    // 次构造器
    constructor(name: String){
       println(name)
    }
}

如果类定义了主构造器,次构造器必须直接或间接调用主构造器;

class kotlin {
    // 定义主构造器
    class Person (name: String){
        init {
            println(name)
        }
        // 次构造器(通过this直接调用主构造器)
        constructor(age: Int): this("HAHA"){
            println(age)
        }
    }
}

fun main(arge: Array<String>) {
    kotlin.Person(25)
}

Run:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值