Kotlin入門-変数の宣言と付与


これから一緒に基礎文法を勉強しましょう.
JavaでViewタイプの変数を宣言した書き方を思い出します.
//Java

View v;
Kotlinで宣言された変数のフォーマットは次のとおりです.
//Kotlin

var v: View
ここにはいくつかの違いがあります.
  • には  var  キーワード
  • 型と変数名の位置は
  • を交換した.
  • の間はコロンで区切られた
  • です.
  • 末尾にセミコロンはありません(はい、Kotlinにはセミコロンは必要ありません)
  • 文法のフォーマットが少し違うように見えますが、本当にそう書くと、IDEは間違っています.
    //Kotlin
    
    class Sample {
        var v: View
        //     IDE       
        // Property must be initialized or be abstract
    }
    このヒントは、抽象的に宣言しない限り、属性を宣言と同時に初期化する必要があるということです.
  • プロパティとは何ですか?ここではJavaのfieldよりもKotlinのPropertyを簡単に理解することができますが、実際には違いますが、KotlinのProperty機能は多くなります.
  • 変数は抽象的に宣言できるのか.はい、これはKotlinの機能ですが、ここでは相手にしないで、後で話します.
  • プロパティはなぜ初期化を要求しますか?Kotlinの変数にはデフォルト値がないため、Javaとは異なり、Javaのfieldにはデフォルト値があります.
    //Java
    
    String name; //      null
    int count; //      0
    しかし、これらのKotlinはありません.しかし、Javaもfieldにデフォルト値があるだけで、ローカル変数にもデフォルト値はありません.初期値を与えないとエラーが発生します.
    //Java 
    
    void run() {
        int count;
        count++; 
        // IDE   ,Variable 'count' might not have been initialized
    }
    それならデフォルト値nullをあげましょう.残念なことに、まだ間違っていることに気づきます.
    //Kotlin
    
    class Sample {
        var v: View = null
        //     IDE      ,Null can not be a value of a non-null type View
    }
    まただめです.IDEは私に空ではない値を与える必要があると教えてくれました.どうすればいいですか.Javaのセットは役に立たない.
    実はこれはKotlinの空の安全設計に関する内容です.多くの人がKotlinを上手にしようとした後、急速に放棄したのは、空のセキュリティ設計が分からないため、コードの様々なコンパイルを拒否し、最終的には放棄するしかなかったからだ.だから焦らないで、次の文章ではKotlinの空の安全設計を勉強しましょう.