1.什么是JavaBeans?

JavaBeans是Java语言中可以重复使用的软件组件,它们是一种特殊的Java类,将很多的对象封装到了一个对象(bean)中。
特点是
可序列化,
提供无参构造器,
提供getter方法和setter方法访问对象的属性

2.JavaBeans的优点和缺点:

优点:

 Bean可以控制它的属性、事件和方法是否暴露给其他程序。
Bean可以接收来自其他对象的事件,也可以产生事件给其他对象。
有软件可用来配置Bean。
Bean的属性可以被序列化,以供日后重用

缺点:

1.无参构造器的类可能实例化无效。开发者实例化它(而不是通过一些Framework实例),开发者可能没有意识到类已经不正确地实例化了。
编译器不能发现这样的问题,即使这已经被记录在文档中,也不能保证开发者会看这个文档。
2.需要为每个属性创建getter方法及大部分属性创建setter方法。这将导致巨大数量的构造模版代码(boilerplate code)

3.JavaBeans规范

1.有一个公有的无参构造器。
2.属性可以通过get、set、is(可以替代get,用在布尔型属性上)方法或遵循特定命名规范的其他方法访问。
3.可序列化。

例子:

 public class StudentBean implements java.io.Serializable{
/*
* 私有属性
*/
private String name = null;
private int age = 18;
private boolean hasScholarship = false;
//无参构造函数
public StudentBean() {
}
//getter,setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean isHasScholarship() {
return hasScholarship;
}
public void setHasScholarship(boolean hasScholarship) {
this.hasScholarship = hasScholarship;
}
@Override
public String toString() {
return "Student name:"+getName()+"\nage:"+getAge()+"\nHasScholarship?"+isHasScholarship();
}
}
 public class TestStudentBean {

      public static void main(String[] args) {
StudentBean student = new StudentBean(); student.setName("Jack");
student.setAge(20);
student.setHasScholarship(true); System.out.println(student);
} }

Java学习之——JavaBeans的更多相关文章

  1. 转:Java学习路线图

    作者: nuanyangyang 标  题: Java学习路线图(整理中,欢迎纠正) 发信站: 北邮人论坛 (Mon Aug 11 19:28:16 2014), 站内   [以下肯定是不完整的列表, ...

  2. Java学习笔记4

    Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...

  3. 登录模块的进化史,带大家回顾java学习历程(二)

    接着前面的登录模块的进化史,带大家回顾java学习历程(一) 继续往下面讲 前面我们去实现登录功能,都是想着要完成这个功能,直接在处理实际业务的类中去开始写具体的代码一步步实现,也就是面向过程的编程. ...

  4. Java 学习资料整理

    Java 学习资料整理 Java 精品学习视频教程下载汇总 Java视频教程 孙鑫Java无难事 (全12CD) Java视频教程 即学即会java 上海交大 Java初级编程基础 共25讲下载 av ...

  5. java与java学习路线

    JAVA学习路线图 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态面 ...

  6. Java学习---面向对象的远程方法调用[RMI]

    基础知识 分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果. 常见的分 ...

  7. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  8. 0035 Java学习笔记-注解

    什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...

  9. 分享篇——我的Java学习路线

    虽然之前我是开发出身,但是我学习的语言是Objective-c,这个语言使用起来范围比较窄,对于自动化学习来说也是无用武之地,所以我自己学习了Java,对于一个有开发经验的人来说学习一门新语言相对来说 ...

随机推荐

  1. 【linux】提醒"libc.so.6: version `GLIBC_2.14' not found"系统的glibc版本太低

    原文链接:http://www.myexception.cn/linux-unix/1622052.html [linux]提示"libc.so.6: version `GLIBC_2.14 ...

  2. [转]手把手教你--Bootstrap Table表格插件及数据导出(可导出Excel2003及Exce2007)

    原文地址:https://blog.csdn.net/javayoucome/article/details/80081771 1.介绍 Bootstrap Table介绍见官网:http://boo ...

  3. java jar包与配置文件的写法

    一个普通的java project,里面引用了config.properties配置文件,将项目打成Runnable jar,然后将config.properties放到打包后的jar路径下,执行该j ...

  4. 老项目Xcode5.1编译器错误

    老项目编译器错误html, body {overflow-x: initial !important;}html { font-size: 14px; } body { margin: 0px; pa ...

  5. cacti安装

    cacti是一套基于PHP,MySQL,Net-SNMP及RRDTool开发的网络流量监测图形分析工具.它通snmpget来获取数据,使用RRDtool绘画图形,提供了非常强大的数据和用户管理功能,同 ...

  6. TCP/IP协议层

    除了少数外,OSI协议簇本身已经成为Internet历史早期的遗留产物.当前OSI协议对于网络技术的贡献看来主要是对学习网络的学生讲述模块化的协议簇时,可以引用它的参考模型进行说明等的有限用途. 下面 ...

  7. C语言 · 企业奖金发放

    算法提高 企业奖金发放   时间限制:1.0s   内存限制:512.0MB      企业发放的奖金根据利润提成.利润低于或等于10万元时,奖金可提10%:利润高于10万元,低于20万元时,低于10 ...

  8. C语言 · 征税程序

    算法提高 征税程序   时间限制:1.0s   内存限制:512.0MB      问题描述 税务局希望你帮他们编写一个征税程序,该程序的功能是:首先输入某公司的年销售额sale和税率rate,然后程 ...

  9. <黑天鹅>读书笔记

    书在这里 不要关注可能性,而要关注结果 不要迷信那些估值和行业发展研究文字,因为所有大家看得到的模型和研究报告都是有关白天鹅的,而你的命运或许实际掌握在黑天鹅那里 你不知道的事比你知道的事有意义 你可 ...

  10. Java线程池关闭1-shutdown和isTerminated<转>

    shutdownvoid shutdown()启动一次顺序关闭,执行以前提交的任务,但不接受新任务.若已经关闭,则调用没有其他作用.抛出:SecurityException - 如果安全管理器存在并且 ...