Kotlin什么是top-level?

在看Kotlin官方文档中,多次出现top-level,什么是top-level?怎么样申明top-level?

在Java中所有的申明都是要依赖于类而存在,包括main函数。在Java中写一个main函数,你得先有一个类

public class Main {
    public static void main(String[] args) {
        //TODO
    }
}

所有变量申明,函数定义,都是要在类中定义。

然而在Kotlin中就变得不一样了,main函数必须是写在类外面的,在idea中创建一个Kotlin File,写下下面的代码(输入main,然后按table就自动生成了):

fun main(args: Array<String>) {

}

如果你是创建了一个Kotlin Class 文件,则在类外面写即可。main函数是不依赖于类的,所以main函数是一个top-level函数

让我们接着写入下面的源代码:

var tempValue: Int = 100 //申明top-lelvel property

//top-level function
fun test() {
    print("this is a top-level function")
}

//top-level object
object testObj{
    var property1: Int? = null
}

//top-level enum class
enum class ColorKindEnum{
    RED,
    GREEN,
    BLUE
}

//top-level class
class Test(){

} 

这些都不是在类中定义的,直接定义在文件之下,所以都是top-level。如果是在类体里面申明的变量,函数,class,object,enum就不是top-level

这就是我个人理解的top-level。

 

转载于:https://www.cnblogs.com/liuliqianxiao/p/7141067.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值