「Bean」は、プロパティとゲッター/セッターを備えた Java クラスであると理解していたと思います。
私の理解では、これは C と同等ですstruct
。本当ですか?
また、と通常のの間には実際の構文上の違いはありますか?特別な定義や はありますか?JavaBean
class
Interface
基本的に、なぜこれに用語があるのでしょうか?
また、Serializable
インターフェースは何を意味しますか?
ベストアンサー1
JavaBeanは単なる標準これは通常の Java ですclass
が、特定の規則に従います。
- すべてのプロパティはプライベートです(ゲッター/セッター)
- 公衆引数なしのコンストラクタ
- 実装
Serializable
。
以上です。これは単なる慣例です。ただし、多くのライブラリがこれに依存しています。
に関してはSerializable
、APIドキュメント:
クラスのシリアル化は、java.io.Serializable インターフェースを実装するクラスによって有効になります。このインターフェースを実装しないクラスの状態はシリアル化もデシリアル化もされません。シリアル化可能なクラスのすべてのサブタイプは、それ自体がシリアル化可能です。シリアル化インターフェースにはメソッドやフィールドはなく、シリアル化可能であることのセマンティクスを識別するためだけに使用されます。
つまり、シリアル化可能なオブジェクトはストリームに書き込むことができ、したがってファイル、オブジェクト データベースなど、あらゆるものに書き込むことができます。
また、JavaBean と他のクラスの間には構文上の違いはありません。クラスが標準に従っている場合、そのクラスは JavaBean です。
これには用語があります。標準では、定義済みの方法で定義されたクラス インスタンスを使用して、ライブラリがプログラムで処理することを許可しているためです。たとえば、ライブラリが渡されたオブジェクトをストリームする場合、オブジェクトがシリアル化可能であるため、それが可能であることがライブラリによって認識されます (ライブラリがオブジェクトが適切な JavaBeans であることを要求していると仮定)。