Kotlin實現(xiàn)在類里面創(chuàng)建main函數(shù)
1、創(chuàng)建在class塊外面:
class Test{
}
/** 我是main入口函數(shù) **/
fun main(args: Array<String>) {
var test=Test();
}
這樣是一種方式,但是細心的童鞋可能會發(fā)現(xiàn)一個問題,目錄里面的文件圖標是灰色的,而且這種寫法看上去怪怪的,有強迫癥的可能會接受不了;

2、創(chuàng)建在class里面:
class Test{
companion object {
/** 我是main入口函數(shù) **/
@JvmStatic
fun main(args: Array<String>) {
var test=Test();
}
}
}
這樣就可以把main入口函數(shù)創(chuàng)建在class里面了,我們來分解一下為什么要這么寫;
首先:
companion object { //我是靜態(tài)塊
/**
這里面定義的靜態(tài)變量跟靜態(tài)方法,類似java的:static
**/
}
上面的方法就是kotlin定義靜態(tài)變量跟靜態(tài)方法的方式,我們知道java的main函數(shù)是一個靜態(tài)方法:
public static void main(String[] args){
}
那在kotlin里面我們換個思路,既然main是靜態(tài)方法,那么把它放在kotlin的 companion object { }里面試試,果然,成功過了,而且這樣寫看上去也不怎么變扭,目錄圖標也變成藍色的了,可喜可賀!

補充知識:Kotlin的類繼承-子類有構造函數(shù)
//如果一個類要被繼承,可以用open關鍵字進行修飾
/**
* Kotlin中的類可以有一個主構造器,以及一個或多個構造器,主構造器是
類頭部的一部分,位于類名稱之后
* class Person constructor(firstName: String) {}
如果主構造器沒有任何注解,也沒有任何可見度修飾符,那么constructor關鍵字可以省略。
class Person(firstName: String) {
}
*/
open class Personage(val name:String,val age:Int){
}
//如果子類有主構造函數(shù),則基類必須在主構造函數(shù)中進行初始化
class Student(name:String,age:Int,var no:String,var score:Int) :Personage(name,age){
}
fun main(args:Array<String>){
val s= Student("Robbin",12,"323",22)
//字符串模板
//$表示一個變量名或者變量值
//$varName表示變量值
//${varName.fun()}表示變量的方法返回值
println("學生姓名: ${s.name}")
}
如果一個類要被繼承,可以用open關鍵字進行修飾
Kotlin中的類可以有一個主構造器,以及一個或多個構造器,主構造器是
類頭部的一部分,位于類名稱之后
以上這篇Kotlin實現(xiàn)在類里面創(chuàng)建main函數(shù)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Android 出現(xiàn):java.lang.NoClassDefFoundError...錯誤解決辦法
這篇文章主要介紹了Android 出現(xiàn):Android出現(xiàn):java.lang.NoClassDefFoundError: android/os/PersistableBundle錯誤解決辦法的相關資料,需要的朋友可以參考下2017-03-03
替換so文件來動態(tài)替換Flutter代碼實現(xiàn)詳解
這篇文章主要為大家介紹了替換so文件來動態(tài)替換Flutter代碼實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01
Android ImageView 固定寬高比例的實現(xiàn)方法
這篇文章主要介紹了Android ImageView 固定寬高比例的實現(xiàn)方法的相關資料,,方法一:設置 adjustViewBounds="true",方法二:使用 Universal-Image-Loader 圖片緩存類,需要注意的是方法二和方法一同時使用導致設置無效,需要的朋友可以參考下2017-07-07
android效果TapBarMenu繪制底部導航欄的使用方式示例
本篇文章主要介紹了android效果TapBarMenu繪制底部導航欄的使用方式,具有一定的參考價值,有興趣的可以了解一下。2017-01-01
Android筆記之:App應用之啟動界面SplashActivity的使用
當前比較成熟一點的應用基本上都會在進入應用之顯示一個啟動界面.這個啟動界面或簡單,或復雜,或簡陋,或華麗,用意不同,風格也不同2013-04-04
Android 中TextView的使用imageview被壓縮問題解決辦法
這篇文章主要介紹了Android 中TextView的使用imageview被壓縮問題解決辦法的相關資料,需要的朋友可以參考下2017-04-04

