Java Beans 是什麼?

本文內容如有錯誤、不足之處,歡迎技術愛好者們一同探討,在本文下面討論區留言,感謝。

簡述

JavaBeans 是 Java 中一種特殊的類,可以將多個對象封裝到一個對象(bean)中。特點是可序列化,提供無參構造器,提供 getter 方法和 setter 方法訪問對象的屬性。名稱中的 “Bean” 是用於 Java 的可重用軟件組件的慣用叫法。

特性

優點
  • Bean 可以控制它的屬性、事件和方法是否暴露給其他程序。
  • Bean 可以接收來自其他對象的事件,也可以產生事件給其他對象。
  • 有軟件可用來配置 Bean
  • Bean 的屬性可以被序列化,以供日後重用。
契約/約定
  • Bean 應該具有默認構造函數(無參數)。
  • Bean 應該提供 gettersetter 方法。
  • 使用 getter 方法讀取可讀屬性的值。
  • 要更新值,應調用 setter 方法。
  • Bean 應該實現 java.io.serializable,因爲它允許保存,存儲和恢復正在使用的 JavaBean 的狀態。
屬性

對象的用戶可以訪問 JavaBean 屬性。該功能部件可以是任何 Java 數據類型,其中包含您定義的類。它可能具有以下模式:讀,寫,只讀或只寫。JavaBean 功能通過兩種方法訪問:

  1. getter 方法的屬性如下:
    • 必須 public 修飾
    • 返回類型不應爲空
    • getter 方法應以單詞 get 開頭
  2. 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

引申

  • BeanInfoJava 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類

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章