Kotlinのクラスに関してです。
まず、宣言方法から見ていきましょう。
class クラス名 constructor(コンストラクタ引数名 : 型){
var 変数名 = コンストラクタ引数名
}
class クラス名 (コンストラクタ引数名 : 型){
var 変数名 = コンストラクタ引数名
}
Javaとは違い、Constructor用の関数を定義することなく、class()にそのまま代入することが可能です。
これをプライマリコンストラクタと呼びます。
また、constructorキーワードは省略することが可能です。
classをインスタンス化する
続いて、定義したclassをインスタンス化する例になります。
1 2 3 4 5 6 7 8 9 10 11 |
fun main(args: Array<String>) { var john = Person("john") john.call() } class Person constructor(name : String){ var name = name fun call(){ println(name) } } |
Javaと違いnewを呼ぶ必要はありません。
Kotlinでは、new自体keywordになっていません。