Kotlin如何在類裡面建立main函式
阿新 • • 發佈:2019-01-03
kotlin和java可以相互呼叫,但是他兩還是有語法區別的。
今天我們就來學習一下,如何在Kotlin的Class類裡面建立一個main函。
我們熟悉的java,他的main入口函式是建立在class裡面的:
public class Test1 {
public static void main(String[] args){
Test1 test=new Test1();
}
}
而kotlin就跟java有所區別,我所知道的kotlin有兩種建立main入口函式的方法,一種是建立在class塊外面,而另外一種就是跟java一樣,建立在class裡面,下面請看程式碼:
1、建立在class塊外面:
class Test{
}
/** 我是main入口函式 **/
fun main(args: Array<String>) {
var test=Test();
}
這樣是一種方式,但是細心的童鞋可能會發現一個問題,目錄裡面的檔案圖示是灰色的,而且這種寫法看上去怪怪的,有強迫症的可能會接受不了;
2、建立在class裡面:
class Test{
companion object {
/** 我是main入口函式 **/
@JvmStatic
fun main(args: Array<String>) {
var test=Test();
}
}
}
這樣就可以把main入口函式建立在class裡面了,我們來分解一下為什麼要這麼寫;
首先:
companion object { //我是靜態塊
/**
這裡面定義的靜態變數跟靜態方法,類似java的:static
**/
}
上面的方法就是kotlin定義靜態變數跟靜態方法的方式,我們知道java的main函式是一個靜態方法:
public static void main(String[] args){
}
那在kotlin裡面我們換個思路,既然main是靜態方法,那麼把它放在kotlin的 companion object { }裡面試試,果然,成功過了,而且這樣寫看上去也不怎麼變扭,目錄圖示也變成藍色的了,可喜可賀!