kotlin 構(gòu)造函數(shù)碧磅、init、companion object用誰遵馆?

拋出問題:

  1. kotlin 構(gòu)造函數(shù)干啥用的
  2. init和構(gòu)造函數(shù)有啥區(qū)別
  3. 生命成員變量private var testString 鲸郊?= null 啥時候分配空間
  4. companion object 加載時序

Q:kotlin 構(gòu)造函數(shù)干啥用的
A:kotlin 的空參構(gòu)造就是init方法, 結(jié)論:空參構(gòu)造就是init方法

class testClass() {
    private var zdf:String?=null
    private var zdf01:String?=null
    init {
        zdf01 = "123"
        copy()
    }
    private fun copy(){
        zdf ="hei hei"
    }
}
---------------------------------------
public final class testClass {
   private String zdf;
   private String zdf01 = "123";
   private final void copy() {
      this.zdf = "hei hei";
   }
   public testClass() {
      this.copy();
   }
}

Q:kotlin 構(gòu)造函數(shù)干啥用的
A: init和構(gòu)造函數(shù)有啥區(qū)別团搞。 結(jié)論:如果使用了多個構(gòu)造方法严望,init為空參構(gòu)造,剩下的構(gòu)造方法該怎么實現(xiàn)怎么實現(xiàn)

class testClass() {
    private var zdf:String?=null
    private var zdf01:String?=null
    constructor(s: String,int: Int) : this() {

    }
    constructor(s:String) : this() {}

    init {
        zdf01 = "123"
        copy()
    }
    private fun copy(){
        zdf ="hei hei"
    }
}
-------------------------------
public final class testClass {
   private String zdf;
   private String zdf01;

   private final void copy() {
      this.zdf = "hei hei";
   }

   public testClass() {
      this.zdf01 = "123";
      this.copy();
   }

   public testClass(@NotNull String s, int var2) {
      Intrinsics.checkParameterIsNotNull(s, "s");
      this();
   }

   public testClass(@NotNull String s) {
      Intrinsics.checkParameterIsNotNull(s, "s");
      this();
   }
}

Q:聲明成員變量private var testString 逻恐?= null 啥時候分配空間
A:成員變量在new的時候像吻,使用new關(guān)鍵字構(gòu)造對象時分配。優(yōu)先于構(gòu)造塊和構(gòu)造方法執(zhí)行之前复隆。

Q:companion object 加載時序
A: companion object 伴生對象拨匆,類似于靜態(tài)方法
結(jié)論 : 修飾為伴生對象,伴生對象在類中只能存在一個,類似于java中的靜態(tài)方法 Java 中使用類訪問靜態(tài)成員挽拂,靜態(tài)方法惭每。

class MainActivity : AppCompatActivity() {
    private var testString : String?=null
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
    init {
        testString = "zdf"
        println(testString)
        println(testInt)
    }
    companion object{
        const val testInt:Int = 1
    }
}
--------------------------------
public final class MainActivity extends AppCompatActivity {
   private String testString = "zdf";
   public static final int testInt = 1;
   public static final MainActivity.Companion Companion = new MainActivity.Companion((DefaultConstructorMarker)null);
   private HashMap _$_findViewCache;

   protected void onCreate(@Nullable Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      this.setContentView(-1300009);
   }

   public MainActivity() {
      String var1 = this.testString;
      boolean var2 = false;
      System.out.println(var1);
      byte var3 = 1;
      var2 = false;
      System.out.println(var3);
   }

   public View _$_findCachedViewById(int var1) {
      if (this._$_findViewCache == null) {
         this._$_findViewCache = new HashMap();
      }

      View var2 = (View)this._$_findViewCache.get(var1);
      if (var2 == null) {
         var2 = this.findViewById(var1);
         this._$_findViewCache.put(var1, var2);
      }

      return var2;
   }

   public void _$_clearFindViewByIdCache() {
      if (this._$_findViewCache != null) {
         this._$_findViewCache.clear();
      }

   }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市亏栈,隨后出現(xiàn)的幾起案子台腥,更是在濱河造成了極大的恐慌,老刑警劉巖绒北,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件黎侈,死亡現(xiàn)場離奇詭異,居然都是意外死亡闷游,警方通過查閱死者的電腦和手機峻汉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門贴汪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人休吠,你說我怎么就攤上這事扳埂。” “怎么了瘤礁?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵阳懂,是天一觀的道長。 經(jīng)常有香客問我柜思,道長希太,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任酝蜒,我火速辦了婚禮誊辉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘亡脑。我一直安慰自己堕澄,他們只是感情好,可當我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布霉咨。 她就那樣靜靜地躺著蛙紫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪途戒。 梳的紋絲不亂的頭發(fā)上坑傅,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天,我揣著相機與錄音喷斋,去河邊找鬼唁毒。 笑死,一個胖子當著我的面吹牛星爪,可吹牛的內(nèi)容都是我干的浆西。 我是一名探鬼主播,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼顽腾,長吁一口氣:“原來是場噩夢啊……” “哼近零!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起抄肖,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤久信,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后漓摩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體裙士,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年幌甘,在試婚紗的時候發(fā)現(xiàn)自己被綠了潮售。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡锅风,死狀恐怖酥诽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情皱埠,我是刑警寧澤肮帐,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站边器,受9級特大地震影響训枢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜忘巧,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一恒界、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧砚嘴,春花似錦十酣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至工育,卻和暖如春虾宇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背如绸。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工嘱朽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人怔接。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓燥翅,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蜕提。 傳聞我的和親對象是個殘疾皇子森书,可洞房花燭夜當晚...
    茶點故事閱讀 45,047評論 2 355