2017-06-12 2 views
3

私は、デフォルトの空のコンストラクタとプロパティを持つパラメータを持つコンストラクタを使って、単純なPOJO(POKO?)クラスを作成しようとしていますデフォルトのコンストラクタとセカンダリコンストラクタをプロパティで定義する

これは私の特性を与えるが、それらは、インスタンス化した後に設定されていない

class Person() { 

    constructor(firstName: String?, lastName: String?) : this() 
} 

class Person() { 

    constructor(firstName: String?, lastName: String?) : this() 

    var firstName: String? = null 
    var lastName: String? = null 
} 

これは私firstNamelastName性質を与えるものではありません

そして、これは言って私にコンパイルエラーを与える「二コンストラクタのパラメータの 『VAR』が許可されていません。」:

class Person() { 

    constructor(var firstName: String?, var lastName: String?) : this() 
} 

だから、これはどのように行われていますか?パラメータとプロパティを持つデフォルトコンストラクタとセカンダリコンストラクタを持つにはどうすればいいですか?

答えて

5

あなたはdefault valuesを持つパラメータを持つだけで、プライマリコンストラクタ持つことができます:うわー

class Person(var firstName: String? = null, var lastName: String? = null) 
+0

を。エレガントです。ありがとう! – MPelletier

関連する問題