Declaration and invocation of Kotlin classes and class methods, static methods, and local methods
package com.example.filetest
fun main() {
functionLearn(121)//1. Call the method directly
person(). test1() //2. call class method
person. test2() //3. Call a static method of a class, also called a class method
NumUtil.double(1) //4. Call the static method of the static class
}
/*
* Define the method, fun is the keyword, functionLearn is the method name, days is the parameter name, Int is the parameter data type, Boolean is the return value data type
* */
fun function Learn(days: Int): Boolean {
return days > 100
}
/*
* Declaration class person
* */
class person {
//Define the member methods of the class
fun test1() {
println("Member method")
}
//Define the class method, that is, the static method of the class, the keyword companion is called Kotlin's companion object object
companion object {
fun test2() {
println("implement class method")
}
}
}
// Declare the NumUtil tool class (static class) through the object keyword, and the methods in the class are all static methods
object NumUtil {
// Declare a static method (as long as it is in the object class body, no other keyword modification is required) double, the function is to return the value of the parameter num multiplied by 2
fun double(num: Int): Int {
return num * 2
}
}
/*
* Single expression method, when the method returns a single expression, you can omit the curly braces and specify the code body after the = sign
* fun double(x: Int): Int This part is the same as a regular statement
* = Mandatory connectors
* x * 2 is the return value
* */
fun double(x: Int): Int = x * 2
/**
* Define local methods (methods can also be added in the method body)
*/
fun magic(): Int {
fun foo(v: Int): Int {
return v * v
}
//declare an integer variable v1, the value is a random number between 0-100
val v1 = (0..100).random()
return foo(v1 * v1)
}