本文內容如有錯誤、不足之處,歡迎技術愛好者們一同探討,在本文下面討論區留言,感謝。
簡述
JavaBeans 是 Java 中一種特殊的類,可以將多個對象封裝到一個對象(bean)中。特點是可序列化,提供無參構造器,提供 getter 方法和 setter 方法訪問對象的屬性。名稱中的 “Bean” 是用於 Java 的可重用軟件組件的慣用叫法。
特性
優點
- Bean 可以控制它的屬性、事件和方法是否暴露給其他程序。
- Bean 可以接收來自其他對象的事件,也可以產生事件給其他對象。
- 有軟件可用來配置 Bean。
- Bean 的屬性可以被序列化,以供日後重用。
契約/約定
- Bean 應該具有默認構造函數(無參數)。
- Bean 應該提供 getter 和 setter 方法。
- 使用 getter 方法讀取可讀屬性的值。
- 要更新值,應調用 setter 方法。
- Bean 應該實現 java.io.serializable,因爲它允許保存,存儲和恢復正在使用的 JavaBean 的狀態。
屬性
對象的用戶可以訪問 JavaBean 屬性。該功能部件可以是任何 Java 數據類型,其中包含您定義的類。它可能具有以下模式:讀,寫,只讀或只寫。JavaBean 功能通過兩種方法訪問:
- getter 方法的屬性如下:
- 必須 public 修飾
- 返回類型不應爲空
- getter 方法應以單詞 get 開頭
- setter 方法的屬性:
- 必須公開性質
- 返回類型應爲空
- setter 方法必須以單詞 set 爲前綴
例子
Student.java
public class Student implements java.io.Serializable
{
private int id;
private String name;
public Student()
{
}
public void setId(int id)
{
this.id = id;
}
public int getId()
{
return id;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
}
Test.java
public class Test {
public static void main(String args[])
{
Student s = new Student(); // object is created
s.setName("GFG"); // setting value to the object
System.out.println(s.getName());
}
}
輸出:
GFG
引申
- BeanInfo :Java Beans 信息的管理
- Introspector: 獲取 BeanInfo 實例
- PropertyDescriptors: 屬性描述
參考資料
JavaBean class in Java
JavaBeans
What is a JavaBean exactly?(什麼是JavaBean?)
What is JavaBeans? Introduction to JavaBeans Concepts(什麼是JavaBeans?JavaBeans概念簡介)
JavaBean class in Java(Java中的JavaBean類)