Kotlin学習記録(二)——Kotlinの変数、属性、クラス、構造関数、継承、方法

6965 ワード

上篇:環境を構築して出力までHello World!
変数と属性:
Kotlinにとって、すべてが対象です.Javaと同じように聞こえますね.万物が対象です.いいえ、いいえ、すべてがオブジェクトで、元の基本タイプも含まれています.
もちろん、基本的なタイプは存在し、使用方法や名前、Javaの違いは大きくありませんが、オブジェクトとして存在し、デジタルタイプは自動的に変換できず、明確なタイプ変換が必要な点もあります.
例:
	val i:Int=100
	val d:Double=i.toDouble()	
	

変数の宣言:
Kotlinの変数の宣言は、キーワード:var/valを通じて行われます.両者には違いがあり、varはJavaで正常に宣言されている変数と同じで、変数の値を変更することができます.valはかなりfinalと、断子絶孫ですね~
valはスレッドが安全であるため、変更できないため、アクセス制御を定義する必要もありません.すべてのスレッドがアクセスしたオブジェクトは同じです.
構文:var/val変数名:タイプ=値
	val a:Any = 666	//any   Java Object

もちろん、Kotlinの変数宣言は、次のようなタイプを自主的に識別することができます.
	val i=123   //Int  
	val s="abcdef"  //String  
	val f=2.2F //Float  
	val context=this    //     
         ...

属性:
これはJavaと同じですが、より強く、簡潔です.
Javaのエンティティの1つは次のとおりです.
public class entity {
    private String s;
    public String getS() {
        return s;
    }
    public void setS(String s) {
        this.s = s;
    }
}

Kotlinに対応するコードは次のとおりです.
public class Entity {
    var s:String=""
}

いいえ、これで終わりです.使うときはこうです.
val entity =Entity()
val ss= entity.s
entity.s="abcdef"

友達がいないほど簡潔ではないでしょうか.
クラス、コンストラクション関数、クラス継承:
クラスの定義、classキーワードの使用が必要
	class Xixili() {

	}


classのプロパティ修飾子は次のとおりです.
final:表示クラスは継承できません.デフォルトのプロパティ
abstract:抽象クラス表示
Enum:表示クラスが列挙
Open:クラス継承可能
annotation:注記クラス
コンストラクション関数が必要な場合は、次のようになります.
	class Xixili(name: String , age: Int) {

	}

コンストラクション関数の関数体をここに書きます.
	class Xixili(name: String , age: Int) {
   	   init {
  	      //   
   	    }
	}
 
  类的继承,通过“:”。 
   
  

默认所有的类都是继承Any(和Java中的Object类相似)的。而且类默认的修饰符是final,不可继承的。所有,如果我们想要让别的类继承,就需要声明类为open或者abstract。例:

	open class Father(gender: String)
	class Sun(gender: String , name: String) : Father(gender)

Javaのsuperに相当するFatherに必要なパラメータgenderをsunに指定する必要があります.
方法:
「fun」キー定義は、次のように使用できます.
	fun methodTest(params: String){
    
	}
これは、Stringタイプのparamsパラメータを含む戻り値がない方法です.UnitはJavaのvoidと似ていますが、Unitは本物のオブジェクトです.もちろん、他の任意のタイプの戻り値も指定できます.
	fun methodTest(params: String) : Any {
    	    return params
	}
で、返された結果が直接与えられる場合は、カッコを使用せずに等号を使用できます.
	fun methodTest(params: String) : Any = params+"abcdef"

メソッドでは、パラメータボディもこのように書くことができます.
	fun myToast(message: String , code: Int = Toast.LENGTH_SHORT){
   	    Toast.makeText(this,message,code).show()
	}

使用すると、2番目のパラメータが選択可能になります.
	myToast("lalala")
	myToast("lalala",Toast.LENGTH_LONG)

簡単なことはこれだけですが、多くのことを後続の文章で詳しく説明します.
Kotlin学習記録(三)——サブスレッドはデータを取得し、簡単なListViewを実現する