下記のクラスで指定されているように変更することは可能ですか?メンバを既定の呼び出し元に対して初期化しますか?null
?Javaでは、コンストラクタ呼び出しに基づいて最終データメンバを初期化できますか?
メンバーは、永続性要件としてプライベート最終である必要があります。あなただけ持つことができないのはなぜ
// initial version of the class
public class A {
A() {
// do some work here
}
}
// the following modification required adding additional constructor to the class with **member** data member.
public class A {
private final String member;
A(String member) {
this();
this.member = member;
}
A() {
// initilize member to null if a client called this constructor
// do some work here
}
}
はい、宣言時に初期化されていない最終変数は、コンストラクターで1回のみ初期化できます。同じコンストラクタまたはsetterメソッドで再度実行しようとすると、コンパイラエラーが発生します。 – Arkantos