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

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.

主站蜘蛛池模板: 永川市| 清苑县| 通州区| 光山县| 桦甸市| 思茅市| 神池县| 瑞丽市| 涞源县| 许昌市| 通河县| 喀什市| 黄山市| 富顺县| 民勤县| 额济纳旗| 汨罗市| 酉阳| 湖口县| 定日县| 佛教| 类乌齐县| 务川| 宾川县| 米脂县| 上高县| 林口县| 城市| 彭山县| 云梦县| 深圳市| 潢川县| 犍为县| 鹰潭市| 寻甸| 洞口县| 莱芜市| 奉贤区| 珠海市| 孟连| 南木林县|