Kotlin---------------什么是top-level?
Posted 落幕夜未央
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。
以上是关于Kotlin---------------什么是top-level?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Kotlin Array<T> 不实现 Iterable<T>