在Kotlin有一个非常简便的东西,叫顶层声明 其实就是不把属性和函数的声明写在class里面,比如这样
package com.ak.test.top
var name = "ak"
val sex = "男"
fun printData() = println("=== 姓名:$name 性别:$sex")
class News(
var title: String,
val content: String
) {}
这样写的属性和函数不隶属于任何class 它和静态变量、静态方法一样是全局的,但它用起来更方便,你在其他地方用的时候,就连类名都不用写,是不是很方便。
fun buttonClick(view: View) {
name = "彭于晏"
printData()
}
如果用var声明,就提供了get、set,我们就可以修改它的值,使用它的值。 如用val声明,只提供了get来访问,这个时候idea会提示你加上const,把它声明常量。
如果我们该变了它的值,是真的改变了哦,下次调用的时候就是改变后的值了。
我们还可以把各种工具类里的方法声明成顶层函数,调用的时候就可以直接写名字了, 如果是java调用的话
TopLevelKt.getName()
TopLevelKt.printData()
就是这个kt文件编译出来的类 是这个
就跟调用静态方法一样