官术网_书友最值得收藏!

Static functions

Static functions are functions that can be invoked without creating multiple instances of a class. Static functions avoid code duplication and can be reused.

Let's take a look at how to write a static function in Kotlin.

Consider the following code for 15a_StaticMethods.kts:

object MyUtil {
fun foo(){
println("Static function foo() is invoked")
}
}

MyUtil.foo()

Note that we declared an object MyUtil and defined a function foo(). This is known as object declaration.

We invoked the function foo() directly using the object MyUtil

The output of the preceding code is as follows:

There are different ways to write static functions in Kotlin. We can define a companion object inside a class and define a static function in it. Consider the following code for 15b_StaticMethods.kts:

class Person {
companion object {
fun foo(){
println("Static function foo() is invoked")
}
}
}
Person.foo()

The output is as follows:

We can also give a name to the companion object. Consider the following code for 15c_StaticMethods.kts:

class Person {
companion object Util {
fun foo(){
println("Static function foo() is invoked")
}
}
}
Person.Util.foo()

The output is as follows:

We can invoke the static method shown in the preceding example with  companion as  Person.Companion.foo(). The static method foo can be invoked using either the class name or a named companion object prefixed with the class name, such as Person.Util.foo().

In this section, we have covered the constructs that Kotlin provides. We will be using these constructs in the next few chapters.

主站蜘蛛池模板: 南安市| 建德市| 小金县| 东乡| 宝丰县| 巧家县| 巩义市| 阳泉市| 东至县| 永登县| 舞钢市| 建昌县| 大安市| 施甸县| 平泉县| 韶山市| 收藏| 四会市| 高雄县| 体育| 鲜城| 饶河县| 新邵县| 南阳市| 宜宾市| 平罗县| 东光县| 包头市| 鄂托克旗| 金华市| 呼玛县| 汝阳县| 巴林右旗| 偏关县| 开封市| 绥滨县| 那曲县| 莎车县| 罗平县| 台山市| 伊春市|