私はAbstractXYZEntityから派生したエンティティはほとんどありません。すべてのエンティティはXYZドメインに属し、XYZIdはLong型です。はデフォルトのコンストラクタを持たない親クラスを継承できません
私はデータ型class XYZId extends Long
を作成したいと、各エンティティは、その後、以下のようになります -
public class XYZEntityOne extends AbstractXYZEntity {
XYZId entityOneId;
}
問題は、私はXYZIdを作成しようとすると、コンパイラはエラー以下の私を示している -
ありjava.lang.Longで使用可能なデフォルトのコンストラクタがありません
私は、デフォルトのコンストラクタはLongそれは意味を持ちません。 1つはLongのインスタンスを作成する前にいくつかの番号を持つ必要があります。
しかし、それではデフォルトのコンストラクタを持たないデータ型を作成できないのはなぜですか?
[Long](https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html)は「final」と宣言されています。それを拡張することはできません。 –
@Aominèああ、私はそれを得た。スーパー感謝。しかし、そこにはLong上に表面的なデータ型の名前を作成する方法がありますか? – comiventor
継承よりも優先度の高い構成。 –