bean译过来即为“豆子”的意思,大家对豆子的印象是什么,大概就是只能看到豆子硬硬的外皮,而看不到内部的东西。那么在java中,bean可以看成是一个黑盒子,即只需要知道其功能而不必知道其内部构造和设计。现在对javabean有了一个大致的印象,接下来进行详细介绍。

Javabean其实是一个用JAVA语言写成的可重用组件,是一个Java类,为了可以让其他对象访问,所以这个类必须是public,为了其封装性,bean只能通过相应的get()和set()方法暴露其属性,使其他对象可以获取或者改变其属性的值。用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。

一个Javabean一般由三部分组成:

(1)属性(properties)

属性值可以通过一致性的Java方法进行访问和设置,比如有一个叫做 name的属性,可以通过其封装的getName()和setName()方法进行上述的操作。每个JavaBean属性通常都应该遵循简单的方法命名规则(即相应的set和get方法),这样应用程序构造器工具和最终用户才能找到JavaBean提供的属性,然后查询或修改属性值,对bean进行操作。boolean类型的属性可以通过isXXX()和setXXX()的方法进行同样的操作。

(2)方法(method)

javabean中的方法其实就是咱们在Java编程中编写的一般的平常的方法,它们可以被其他的组件或者是在脚本环境中被调用,因为Javabean本质是一个Java对象,所以相应的方法是外界与之交互的唯一途径。JavaBean严格遵守面向对象的类设计逻辑,不让外部世界访问其任何字段(没有public字段)。这样,方法调用是接触Bean的唯一途径。 但是和普通对象(类)不同的是,对有些Bean来说,采用调用实例方法的低级机制并不是操作和使用Bean的主要途径。公开Bean方法在Bean操作中降为辅助地位,因为两个高级Bean特性--属性和事件是与Bean交互作用的更好方式。 因此Bean可以提供要让客户使用的public方法,但应当认识到,Bean设计人员希望看到绝大部分Bean的功能反映在属性和事件中,而不是在人工调用和各个方法中。

(3)事件(event)

Bean与其他软件组件交流信息的主要方式是发送和接受事件。我们可以将bean的事件支持功能看作是集成电路中的输入输出引脚:工程师将引脚连接在一起组成系统,让组件进行通讯。有些引脚用于输入,有些引脚用于输出,相当于事件模型中的发送事件和接收事件。 事件为JavaBean组件提供了一种发送通知给其他组件的方法。在AWT事件模型中,一个事件源可以注册事件监听器对象。当事件源检测到发生了某种事件时,它将调用事件监听器对象中的一个适当的事件处理方法来处理这个事件。 由此可见,JavaBean确实也是普通的Java对象,只不过它遵循了一些特别的约定而已。

结合上述,Javabean应该满足如下几个条件:

(1)至少有一个无参的构造方法

(2)所有属性必须用private声明并且有其相应的声明为public的set/get方法

(3)严格遵循面向对象的编程思想,封装良好

  

javaBean本质相关推荐

  1. jsp 将页面中的值导入java中_JavaWeb - JSP:概述和语法,内置对象,JavaBean 组件,MVC 设计模式

    JSP 的概述 概念 JSP 是 Java Server Pages 的简称,跟 Servlet 一样可以动态生成 HTML 响应, JSP 文件命名为 xxx.jsp. 与 Servlet 不同,J ...

  2. srping基础——DI(三)

    1.依赖和依赖注入 传统应用程序设计中所说的依赖一般指的是"类与类之间的关系",那么首先让我们复习一下类之间的关系: 泛化:表示类与类之间的继承关系,表示接口与接口之间的继承关系: ...

  3. java个人整理知识点

    发展: 1.SE 标准版. 2.EE 企业版,基于SE. 3.ME 已经淘汰. JDK.JRE和JVM: JDK: 称为Java开发工具包( Java Development Kit).Java开发人 ...

  4. JAVA SE基础笔记

    第一天  JDK安装.快捷键.JAVA语言特点 1.Java语言的概述 1.1 Java语言的背景 Java语言诞生于1995年,在编程语言排行榜占据重要的地位. Java语言之父是高斯林,以前隶属于 ...

  5. 圣思园java.doc_Java Web学习历程-(基于圣思园视频教程)

    JavaWeb [北京圣思园Java Web培训视频]_001.HTML常见标签深入详解 HTML是一种弱标签,可以不用成对出现.浏览器引擎对此标签智能,一般都能正确解析.HTML标签都是死的,只需要 ...

  6. javabean反射改字段内容_BAT程序员编写:深入理解 Java 反射和动态代理源码分析...

    什么是反射 反射(Reflection)是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性. 通过反射机制,可以在运行时访问 Java ...

  7. javaBean和Servlet的区别

    可以像使用一般的类一样使用JavaBean,Bean只是一种特殊的类.特殊在可以通过<jsp:useBean  />调用JavaBean.而其他类,可以和一般java中一样使用.  Bea ...

  8. (转) POJO和javabean的异同

    参考:http://blog.csdn.net/lushuaiyin/article/details/7436318 一:什么是POJOPOJO的名称有多种,pure old java object ...

  9. Java核心类笔记(字符串方法、StringBuilder(Joiner)、包装、JavaBean、枚举、Math、随机数)

    String字符串注意点和常用方法 怎样理解字符串的不可变性? 在Java中,String是通过private final char[]实现的,没有任何修改char[]的方法,所以是不可变的. 在字符 ...

  10. JavaBean 与 EJB 的区别

    JavaBean在一般情况下指的是实体类,在大部分情况下和POJO是同义词,基本构成就是一些字段和与之对应的  setter.getter方法,如果一个JavaBean需要在不同的JVM的进程中进行传 ...

最新文章

  1. 首席信息官利用AI提升自身地位的三种方法
  2. 让IE的F1帮助变成自己的
  3. python图片超链接_python自动获得网页上的所有超链接并全部截图
  4. CACTI 0.87e 安装
  5. .NET斗鱼直播弹幕客户端(上)
  6. matlab中inf函数,matlab中voronoin()函数的用法,求高手指点
  7. 集福宝 支付宝2021年最新一款集福神器
  8. leetcode784题:字母大小写全排列
  9. 关系抽取---(二)卷积神经网络
  10. CoreData手动创建托管对象子类时报错
  11. XOCDE构建提示Command /usr/bin/codesign failed with exit code 1的解决办法
  12. Android开机速度优化(第三篇)
  13. db9针232接口波特率标准_RS232 DB9 计算机接口定义
  14. Python常用取整函数
  15. springboot不停机更新(配合Nginx优雅发版)
  16. C语言-对文件的输入输出
  17. cordova跳转远程页面调用浏览器问题
  18. Chrome插件推荐之Web Clipper
  19. 暑期小学生计算机培训班,青岛小学生学习编程暑假
  20. 程序员应该读的书1.0

热门文章

  1. 步步为营 SharePoint 开发学习笔记系列 二、安装和配置
  2. dis的前缀单词有哪些_前缀dis-dis和un和im前缀-un和dis前缀的区别
  3. Matlab中的对数使用
  4. Google Earth Engine 入门1 GEE账号注册
  5. 基于HostLink协议的Fins命令读写
  6. c语言例题18:完全平方数
  7. 凹点匹配分割 matlab,基于凹点和重心检测的粘连类圆形目标图像分割
  8. 计算机测绘程序设计实验报告,计算机测绘程序及设计实验报告.doc
  9. python矩阵转置_矩阵转置python
  10. SAI颈部正面的画法