1. ホーム
  2. java

[解決済み] JavaBeanとは何ですか?

2022-03-18 15:13:48

質問

Beanはプロパティとゲッター/セッターを持つJavaクラスであることは理解できましたが、quot;Bean;quot;はどのようなものですか?
私が理解している限りでは、C言語の struct . それは本当ですか?

また、実際に 構文 との違いは JavaBean と通常の class ?
何か特別な定義や Interface ?

基本的に、なぜこのような用語があるのでしょうか?

また Serializable のインターフェイスはどういう意味ですか?

どのように解決するのですか?

JavaBeanは、単に 標準

  1. すべてのプロパティはプライベート(使用 ゲッター/セッター )
  2. 公開された 引数なしコンストラクタ
  3. インプリメント Serializable .

それだけです。ただの慣習です。 多くのライブラリがこれに依存していますが。

に関して Serializable からは APIドキュメント :

クラスのシリアライズは、クラスが java.io.Serializable インターフェース。このインターフェイスを実装していないクラスは インターフェイスは、その状態をシリアライズまたはデシリアライズすることはありません。 シリアライズ可能なクラスのすべてのサブタイプは、それ自体がシリアライズ可能です。このクラスの serialization インターフェースは、メソッドやフィールドを持たず、以下のような役割を果たします。 は、シリアライザブルであることのセマンティクスを識別します。

言い換えれば、シリアライズ可能なオブジェクトはストリームに書き込むことができ、したがってファイルやオブジェクト・データベースなど、本当に何にでも書き込むことができるのです。

また、JavaBeanと他のクラスとの間に構文の違いはありません。

この規格では、定義済みのクラスインスタンスに対して、ライブラリがプログラム的に何かを行うことができるため、このような用語があるのです。例えば、ライブラリは、あなたが渡したオブジェクトをストリーミングしたい場合、あなたのオブジェクトがシリアライズ可能なので、それが可能であることを知っています(ライブラリは、あなたのオブジェクトが適切なJavaBeansであることを要求すると仮定しています)。