本文内容如有错误、不足之处,欢迎技术爱好者们一同探讨,在本文下面讨论区留言,感谢。
简述
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类)