Kotlin面向对象--类的定义方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dpl12/article/details/79971496
Kotlin面向对象--类的定义方法

Kotlin中的类是使用class关键字来声明:

class Invoice {

}
Kotlin

类声明由类名,类头(指定类型参数,主构造函数等)和类体组成,由大括号括起来。类头和类主体都是可选的; 如果类没有主体,可以省略花括号。如下 -

class Empty
Kotlin

构造函数

Kotlin中的类可以有一个主构造函数和一个或多个辅助构造函数。 主构造函数是类头的一部分:它在类名后面(和可选的类型参数)。

class Person constructor(firstName: String) {
}
Kotlin

如果主构造函数没有任何注释或可见性修饰符,那么可以省略constructor关键字:

class Person(firstName: String) {
}
Kotlin

主构造函数不能包含任何代码。 初始化代码可以放在初始化程序块中,前缀为init关键字:

class Customer(name: String) {
    init {
        logger.info("Customer initialized with value ${name}")
    }
}
Kotlin

请注意,初始化程序块中可以使用主构造函数的参数。 它们也可以用在类体中声明属性的初始化器:

class Customer(name: String) {
    val customerKey = name.toUpperCase()
}
Kotlin

实际上,要声明属性并从主构造函数初始化它们,Kotlin有一个简洁的语法:

class Person(val firstName: String, val lastName: String, var age: Int) {
    // ...
}
Kotlin

与常规属性大体相同,主构造函数中声明的属性可以是多值(var)或只读(val)。

如果构造函数具有注释或可见性修饰符,则constructor关键字是必需的,修饰符将在它之前:

class Customer public @Inject constructor(name: String) { ... }


简单实例:

//矩形  长 宽
class Rect(var longs:Int,var width:Int)

fun main(args: Array<String>) {
    var rect1=Rect(longs=20,width = 10)
    println("举行的长度:${rect1.longs}")
    println("举行的宽度:${rect1.width}")

}

运行结果:

举行的长度:20
举行的宽度:10



阅读更多

没有更多推荐了,返回首页