Kotlin-6-类的声明+构造函数

目录

1、类的一般声明

2、构造函数+构造函数调用方法

3、主构造函数和次级构造函数

4、省去繁多的构造函数


1、类的一般声明

class MainActivity : AppCompatActivity()

class MainActivity : AppCompatActivity(),View.OnClickListener

注意1:Kotlin的类默认都是public final 的,如果你想要不final,就需要用open修饰符来修饰类,表示开放的,可继承

open class MainActivity : AppCompatActivity()

open class MainActivity : AppCompatActivity(),View.OnClickListener

注意2:Kotlin中所有类的最终父类是Any(超类),Java中所有类都继承于Object(超类)


/**
 * The root of the Kotlin class hierarchy. Every Kotlin class has [Any] as a superclass.
 */
public open class Any {
           。。。。。。
}

2、构造函数+构造函数调用方法

  1、如果我们需要给类添加具有参数的构造函数的时候,
     我们就需要在类名的后面加小括号,然后输入参数
  2、如果我们想要在构造函数中进行一些初始化操作的时候,
     kotlin给我们提供了init代码块来作为构造函数的调用方法
//具有一个参数的构造函数
class Person(name:String) {
    init {
        //构造函数的操作在这里进行
    }
}

注意:这里我们能创建多个init代码块,并且它们是按顺序执行的

class Person (name:String){
    init {
        println("init1")
    }
    init {
        println("init2")
    }
    init {
        println("init3")
    }
}
fun main() {
    val person=Person("张三")
}
//输出结果
init1
init2
init3

3、主构造函数和次级构造函数

/**
 * kotlin是有主构造函数和次级构造函数之分的
 * 1、主构造函数就是类名后面的构造函数,它的参数个数可以在类名后面+小括号进行声明
 * 2、当类的主构造函数没有声明的时候,你可以随意多个创建它的次级构造函数
 */
open class Animal {

    constructor(name: String)

    constructor(name: String, age: Int)

    constructor(name: String, age: Int, type: String)

}

 注意:但是当你声明了主构造函数的话,那么它的次级构造函数必须直接或者间接的调用它的主构造函数

open class Animal(name: String) {
    //直接调用主构造函数
    constructor(name: String, age: Int):this(name)
    //间接调用主构造函数
    constructor(name: String, age: Int, type: String):this(name, age)

}

4、省去繁多的构造函数

我们创建不同的构造函数是因为他们的参数数量和顺序不同,但是我们能不能只创建一个构造函数就能实现上面多个构造函数的作用呢?

那就是创建一个主构造函数并且给主构造函数的参数初始化值。

这样我们就可以随便改变参数的数量和顺序了。

class Person(val name: String="张三", val age: Int=18, val sex: String="男", val weight: Int=120)

fun main() {
    val person1=Person(name="张三")
    val person2=Person("张三",19)
    val person3=Person(age=19,name="李四",weight = 200)
    val person4=Person(age=19,weight = 200)
}

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kotlin 中,构造函数用于创建的实例。Kotlin 中的构造函数有两种型:构造函数构造函数。 1. 构造函数: - 构造函数头的一部分,它跟在名后面。 - 构造函数可以包含参数,这些参数可以在的初始化过程中使用。 - 构造函数可以有可见性修饰符(如 `public`、`private` 等)。 - 构造函数没有体,它的逻辑被放在初始化块中。 下面是一个使用构造函数的示例: ```kotlin class Person(firstName: String, lastName: String) { init { println("Creating a person: $firstName $lastName") } } ``` 在上面的示例中,`Person` 一个构造函数,它接受 `firstName` 和 `lastName` 作为参数。在初始化块中,我们打印出正在创建的人的信息。 2. 构造函数: - 构造函数是可选的,在中可以定义多个构造函数。 - 构造函数必须通过 `constructor` 关键字声明。 - 构造函数可以调用构造函数或其他构造函数。 下面是一个使用构造函数的示例: ```kotlin class Person(firstName: String, lastName: String) { init { println("Creating a person: $firstName $lastName") } constructor(firstName: String) : this(firstName, "") { println("Creating a person with only first name: $firstName") } } ``` 在上面的示例中,`Person` 一个构造函数一个构造函数构造函数只接受 `firstName` 参数,并调用了构造函数来初始化 `lastName`。 这是关于 Kotlin 构造函数的简单介绍。希望对你有帮助!如有更多问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值