Kotlin学習記録(二)——Kotlinの変数、属性、クラス、構造関数、継承、方法
6965 ワード
上篇:環境を構築して出力までHello World!
変数と属性:
Kotlinにとって、すべてが対象です.Javaと同じように聞こえますね.万物が対象です.いいえ、いいえ、すべてがオブジェクトで、元の基本タイプも含まれています.
もちろん、基本的なタイプは存在し、使用方法や名前、Javaの違いは大きくありませんが、オブジェクトとして存在し、デジタルタイプは自動的に変換できず、明確なタイプ変換が必要な点もあります.
例:
変数の宣言:
Kotlinの変数の宣言は、キーワード:var/valを通じて行われます.両者には違いがあり、varはJavaで正常に宣言されている変数と同じで、変数の値を変更することができます.valはかなりfinalと、断子絶孫ですね~
valはスレッドが安全であるため、変更できないため、アクセス制御を定義する必要もありません.すべてのスレッドがアクセスしたオブジェクトは同じです.
構文:var/val変数名:タイプ=値
もちろん、Kotlinの変数宣言は、次のようなタイプを自主的に識別することができます.
属性:
これはJavaと同じですが、より強く、簡潔です.
Javaのエンティティの1つは次のとおりです.
Kotlinに対応するコードは次のとおりです.
いいえ、これで終わりです.使うときはこうです.
友達がいないほど簡潔ではないでしょうか.
クラス、コンストラクション関数、クラス継承:
クラスの定義、classキーワードの使用が必要
classのプロパティ修飾子は次のとおりです.
final:表示クラスは継承できません.デフォルトのプロパティ
abstract:抽象クラス表示
Enum:表示クラスが列挙
Open:クラス継承可能
annotation:注記クラス
コンストラクション関数が必要な場合は、次のようになります.
コンストラクション関数の関数体をここに書きます.
変数と属性:
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を実現する