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

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

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

