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

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.

主站蜘蛛池模板: 宁夏| 高青县| 宁远县| 宁夏| 格尔木市| 科尔| 饶平县| 准格尔旗| 温泉县| 神池县| 保山市| 图木舒克市| 安顺市| 永兴县| 隆德县| 原阳县| 沙田区| 中卫市| 侯马市| 平阴县| 云南省| 综艺| 普兰县| 柞水县| 新平| 庆城县| 明光市| 六安市| 濮阳市| 平湖市| 林甸县| 久治县| 石棉县| 广德县| 瑞昌市| 保定市| 靖州| 军事| 房产| 武穴市| 安丘市|