本文内容如有错误、不足之处,欢迎技术爱好者们一同探讨,在本文下面讨论区留言,感谢。

文章目录

  • 简述
  • 特性
    • 优点
    • 契约/约定
    • 属性
  • 例子
  • 引申
  • 参考资料

简述

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

  • https://www.geeksforgeeks.org/javabean-class-java/

JavaBeans

  • https://zh.wikipedia.org/wiki/JavaBeans

What is a JavaBean exactly?(什么是JavaBean?

  • https://stackoverflow.com/questions/3295496/what-is-a-javabean-exactly

What is JavaBeans? Introduction to JavaBeans Concepts(什么是JavaBeans?JavaBeans概念简介

  • https://www.edureka.co/blog/what-is-javabeans/

JavaBean class in Java(Java中的JavaBean类

  • https://www.geeksforgeeks.org/javabean-class-java/

Java Beans 是什么?相关推荐

  1. Java Beans 介绍

    Java版本:8 写JavaBeans组件 编写JavaBeans组件非常简单.您不需要特殊的工具,也不需要实现任何接口.编写bean只是遵循某些编码约定的问题.您所要做的就是使您的类看起来像一个be ...

  2. java.beans包概述

    title: java.beans包概述 date: 2019-02-09 21:17:05 tags: Java categories: Java java.beans包包含了开发bean相关的类, ...

  3. java.beans.transient_@Transient注解的使用(不被序列化和作为临时变量存储)

    java 的transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中. trans ...

  4. java beans 组件_如何利用JavaBeans在应用程序中创建组件?

    JavaBeans模块使开发人员能够创建称之为组件的软件单元(也就是我们熟知的beans).你可以把beans加载在更复杂的组件.Java小型应用程序(applets)或应用程序上.JavaBeans ...

  5. java.beans.transient_JavaBeans程序开发

    JavaBeans程序开发 JavaBeans的属性 JavaBeans的属性与一般Java程序中所指的属性,或者说与所有面向对象的程序设计语言中对象的属性是一个概念,在程序中的具体体现就是类中的变量 ...

  6. java.beans 包_javabeans是什么

    详细内容 JavaBeans事实上有三层含义.首先,JavaBeans是一种规范,一种在Java(包括JSP)中可重复使用的Java组件的技术规范,也可以说成我们常说的接口. 其次,JavaBeans ...

  7. java.beans 包_JavaBeans的介绍与使用

    简介 Javabeans就是符合某种特定的规范的Java类.使用Javabeans的好处是解决代码重复编写,功能区分明确,提高了代码的可维护性. 就是一个普通的java类,但符合某种特定规范. 遵循某 ...

  8. oracle ebs和java_Oracle EBS Form Builder使用Java beans创建窗体

    最近有个项目,需要研究一下Oracle的E-Business Sutie(EBS),对于以前没接触此套件的我来说,简直太痛苦了.在网上找了一堆资料,试着进行Form二次开发,也遇到各类奇葩问题.目前遇 ...

  9. 初学Jsp+Java Beans遇到的问题:在[com.demo.User]类型bean中找不到任何有关属性[username]的信息

    在[com.demo.User]类型bean中找不到任何有关属性[username]的信息 解决方法: 1.首先检查是否有username属性: 2.其次检查所有属性的set和get方法是否按照小驼峰 ...

最新文章

  1. zoj 2972 Hurdles of 110m (DP)
  2. JavaScript中getter/setter的实现
  3. linux 粘贴内容命令行,Linux下命令行中的复制和粘贴
  4. 突然决定!自掏腰包送Intel酷睿12代CPU!还有机械键盘、固态硬盘。
  5. [转] 实战 SSH 端口转发
  6. 下 终端_Linux/UNIX 下终端复用利器 tmux
  7. java 时分秒格式小时8_Java里得到00:00:00格式的时分秒的Timestamp
  8. centos8安装中文(zh_CN)语言包
  9. Linux文件属性4——读取目录文件
  10. 获取Resources文件下图片的精灵格式
  11. HDU1572 下沙小面的(2)【全排列】
  12. Simhash算法原理和网页查重应用
  13. ThinkPHP的A方法,R方法,M方法,D方法区别
  14. 显示器知识:分辨率1080P、2K、4K、8K相关知识介绍,看完你就懂了!
  15. 千呼万唤始出来 Google GDrive将于4月初正式推出
  16. 如何画好室内手绘效果图,非常值得…
  17. 51假期读书笔记(下)——流畅的python
  18. 电力电子学习笔记1电力电子器件概述
  19. android 像素宽度转换成cm,android-将像素转换为sp
  20. 运维学shell还是python_运维DBA要不要学python

热门文章

  1. “No input file specified “问题的处理
  2. html跑马灯编程,求一个HTML无缝的跑马灯代码。
  3. PYNQ入门(2)——启动系统及例程查看
  4. 组策略禁止自动锁定计算机,次次都登录太麻烦 教你关闭Win10锁屏
  5. 项目型公司 VS 产品型公司
  6. 安卓中Paint类和Canvas类的方法汇总
  7. 刷APP任务平台可靠吗?
  8. linux lp命令,Linux lp 命令 command not found lp 命令详解 lp 命令未找到 lp 命令安装 - CommandNotFound ⚡️ 坑否...
  9. 活跃地址下降,成交量大幅上涨,疑似青黄不接——陀螺财经周报第八期
  10. Python有参函数和无参函数实例