美文网首页
Android- Kotlin (主构造函数、次构造函数)

Android- Kotlin (主构造函数、次构造函数)

作者: 是刘航啊 | 来源:发表于2020-05-13 15:45 被阅读0次

博主也是刚开始学习 Kotlin 没多久,本文是对《第一行代码》- 第三版中主构造函数和次构造函数的总结。非常推荐这本书作为 Kotlin 入门,建议可以自己把书中的例子自己敲一遍。

Kotlin 中的继承
open class People {

}

Java 中类是可以默认继承的,但是 Kotlin 不一样。如果想要在 Kotlin 中的类被继承,那么需要使用关键字 open。

class Student : People() {

}

Java 中继承使用 extends,Kotlin 中继承使用 " : " 来处理。Java 中类继承不需要括号, Kotlin 中类继承需要括号。


主构造函数
  • 父类无参构造函数
//不带参数
class Student (): People() {

}

每个类有个默认不带参数的主构造函数。
主构造函数的特点-> 没有函数体,直接定义在类名后。

//带参数
class Student(sno: String, grade: Int) : People() {

}

Java 和 Kotlin 一样,子类的构造函数必须调用父类的构造函数。
上面代码中 Student 类初始化主构造函数时候会调用 People 类的无参主构造函数,即使没有参数也不能省略,所以这也是 Kotlin 中继承类有括号的原因。

  • 父类有参构造函数
class Student(sno: String, grade: Int, name: String, age: Int) : People(name, age) {

}

当父类主构造函数带参数时,由于子类必须实现父类主构造函数,所以可以在子类的主构造函数中加入父类构造函数需要的参数。


次构造函数
class Student(sno: String, grade: Int, name: String, age: Int) : People(name, age) {

    constructor(name: String, age: Int) : this("", 0, name, age) {

    }

    constructor() : this("", 0) {

    }

}

1-> 次构造函数通过 constructor 关键字定义
2-> Kotlin 规定所有次构造函数必须调用主构造函数

有没有很像 Java 中的重载
  • 特殊情况,子类和父类都没有构造函数
class Students : Persons {
    constructor(name: String, age: Int) : super(name, age) {

    }
}


open class Persons {
    constructor(name: String, age: Int) {

    }
}

子类没有主构造函数所以不用带括号,同理父类也是一样。
this 关键字和 super 关键字也会比较好理解。


主构造函数和次构造函数大概就介绍到这里了,如果有什么写得不对的地方欢迎指出,如果你觉得这篇文章对你有帮助就帮忙点个赞吧。

相关文章

  • 构造函数 Kotlin的类包括1个主构造函数和多个次构造函数。 主构造函数 其中主构造函数会紧跟类名进行声明。 声...

  • Android- Kotlin (主构造函数、次构造函数)

    博主也是刚开始学习 Kotlin 没多久,本文是对《第一行代码》- 第三版中主构造函数和次构造函数的总结。非常推荐...

  • kotlin中主次构造函数

    java中没有主构造函数和次构造函数之分,但是kotlin有。一个类可以有一个主构造函数和多个次构造函数1.主构造...

  • Android kotlin 类

    类 类的定义 1 当Kotlin中的类需要构造函数时,可以有一个主构造函数和多个次构造函数,可以没有次构造函数。主...

  • Kotlin学习笔记(二)

    1. 构造函数 在 Kotlin 中的⼀个类可以有⼀个主构造函数和⼀个或多个次构造函数。主构造函数是类头的⼀部分:...

  • Kotlin学习笔记——基础语法篇之类和对象

    类的构造 Kotlin类的写法 Kotlin类的构造函数分为主构造函数和二级构造函数 主构造函数的特点——函数名为...

  • Kotlin学习笔记(4)构造函数

    1 Kotlin 使用 class 关键字声明类 2 构造函数一个类可以有一个主构造函数和多个次构造函数主构造函数...

  • Kotlin系列之二:基础(类和对象)

    一.类 但是Kotlin区分 主构造函数和次构造函数,并且,主构造函数是类头的一部分,次构造函数就是位于类内部的构...

  • Kotlin面向对象 (3)✔️构造函数

    主构造函数次构造函数默认构造函数 kotlin中的构造函数有主次之分,主构造函数只能有一个,此构造函数可以有多个。...

  • Kotlin学习之类和继承

    今天开始kotlin学习的第二篇:类和继承1,构造函数Kotlin中的类有一个主构造函数,一个或多个次构造函数,主...

网友评论

      本文标题:Android- Kotlin (主构造函数、次构造函数)

      本文链接:https://www.haomeiwen.com/subject/bjpnnhtx.html