1. 程式人生 > >Kotlin如何在類裡面建立main函式

Kotlin如何在類裡面建立main函式

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 { }裡面試試,果然,成功過了,而且這樣寫看上去也不怎麼變扭,目錄圖示也變成藍色的了,可喜可賀!
這裡寫圖片描述