Java重要技术(12)内省之JavaBean

1.1. Java Bean

Java Bean是一种符合特定的规则的类。至少符合以下规则:

(1)类本身是public修饰的。

(2)类具有public无参数构造函数。

(3)类通过某种规范化的getXXX()和setXXX()方法来暴露其属性XXX。

主要细则:

(a)属性一般为private,而get和set方法为public。

(b)属性名的第1个字母转化为大写后在前面加上get和set,就是该属性的get和set方法名称。属性XXX对应方法为getXXX(),setXXX()。属性xyz对应方法为getXyz(),setXyz()

(c)属性类型为boolean时,使用isXXX()代替getXXX()。

下面是一个符合规则的Java Bean。

/**   

* @Title: SampleBean.java

* @Package com.test.javatechnology.introspection

* @Description:

* @author http://www.cnblogs.com/coe2coe/

* @date 2017年3月25日 下午4:51:30

* @version V1.0   

*/

package com.test.javatechnology.introspection;

/**

* @ClassName: SampleBean

* @Description:

* @author http://www.cnblogs.com/coe2coe/

* @date 2017年3月25日 下午4:51:30

*  

*/

public class SampleBean {

/**

 * 无参构造函数

 */

public SampleBean(){

}

/**

 * 获取age

 * @return

 */

public int getAge() {

return age;

}

/**

 *设置age

 * @param age

 */

public void setAge(int age) {

this.age = age;

}

/**

 * 获取name

 * @return

 */

public String getName() {

return name;

}

/**

 * 设置name

 * @param name

 */

public void setName(String name) {

this.name = name;

}

/**

 * 获取turn

 * @return

 */

public boolean isTurn() {

return turn;

}

/**

 * 设置turn

 * @param turn

 */

public void setTurn(boolean turn) {

this.turn = turn;

}

private int  age;

private String name;

private boolean turn;

}
时间: 2024-10-25 20:49:08

Java重要技术(12)内省之JavaBean的相关文章

Java重要技术(15)内省之属性改变事件和投票否决事件

1.1. 属性改变事件和投票否决事件 PropertyChangeSupport类为Java Bean支持属性改变事件提供了方便. /** * @Title: EventBean.java * @Package com.test.javatechnology.introspection * @Description: * @author http://www.cnblogs.com/coe2coe/ * @date 2017年3月25日 下午6:02:36 * @version V1.0 */

Java重要技术(13)内省之属性描述符PropertyDescriptor

1.1. 属性描述符(PropertyDescriptor) 可以使用PropertyDescrptor类来访问Java Bean的属性和方法. Object obj; Class beanClass = SampleBean.class; Object value; PropertyDescriptor propertyDescriptor; try { //创建对象 obj = SampleBean.class.newInstance(); //访问age属性. propertyDescri

内省(introspector)------>JavaBean

内省(introspector)------>JavaBean    1.问什么要学内省?        开发框架时,经常需要Java对象的属性来来封装程序的数据,每次使用反射技术完成此操作过于麻烦,所以SUN        公司开发了一套API,专门操作Java对象的属性    2.什么是JavaBean和属性的读写方法?    3.通过内省技术访问(Java.beans包提供了内省的API)JavaBean的两张方式        贱人 小婊砸 矫情 &.通过introspector类获

理解Java的反射与内省及其区别

java的内省机制和反射机制什么区别 内省操作只针对JavaBean,只有符合JavaBean规则的类的成员才可以采用内省API进行操作....而反射则不同,一个类的所有成员都可以进行反射操作. 内省和反射的操作也有很大不同,内省是先得到属性描述器PropertyDecriptor后再进行各种操作,反射则是先得到类的字节码Class后再进行各种操作的. 反射(reflection)(实现可扩展性智能化) 相对而言,反射比内省更容易理解一点.用一句比较白的话来概括,反射就是让你可以通过名称来得到对

内省操作javabean的属性

1 import java.beans.BeanInfo; 2 import java.beans.IntrospectionException; 3 import java.beans.Introspector; 4 import java.beans.PropertyDescriptor; 5 import java.lang.reflect.Method; 6 7 import org.junit.Test; 8 9 //使用内省api操作bean的属性 10 public class D

黑马程序员 ---------- Java网络技术之 ---正则表达式 (Day06)

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 正则表达式 正则表达式:基本知识 1  字符,   2 字符类 , 3 预定义字符类 , 4 边界匹配器 ,5 Greedy 数量词,6 Logical 运算符 详解: 1 字符 x   字符 x \\ 反斜线字符 \0n 带有八进制值 0 的字符 n (0 <= n <= 7) \0nn 带有八进制值 0 的字符 nn (0 <= n

Java多线程技术学习笔记(二)

目录: 线程间的通信示例 等待唤醒机制 等待唤醒机制的优化 线程间通信经典问题:多生产者多消费者问题 多生产多消费问题的解决 JDK1.5之后的新加锁方式 多生产多消费问题的新解决办法 sleep和wait的区别 停止线程的方式 守护线程 线程的其他知识点 一.线程间的通信示例 返目录回 多个线程在处理同一资源,任务却不同. 假设有一堆货物,有一辆车把这批货物往仓库里面运,另外一辆车把前一辆车运进仓库的货物往外面运.这里货物就是同一资源,但是两辆车的任务却不同,一个是往里运,一个是往外运. 下面

内省、JavaBean、PropertyDescriptor类、Introspector类、BeanUtils工具包、注解、Rentention、Target、注解的基本属性和高级属性

内省.JavaBean.PropertyDescriptor类.Introspector类.BeanUtils工具包.注解.Rentention.Target.注解的基本属性和高级属性 本文转载自:http://blog.sina.com.cn/s/blog_5d65a16901011kom.html 关键字:内省.JavaBean.PropertyDescriptor类.Introspector类.BeanUtils工具包.注解.Rentention.Target.注解的基本属性和高级属性 内

Java序列化技术与Protobuff

前言: Java序列化是Java技术体系当中的一个重要议题,序列化的意义在于信息的交换和存储,通常会和io.持久化.rmi技术有关(eg:一些orm框架会要求持久化的对象类型实现Serializable接口). 本文将提供Java自带序列化机制和ProtoStuff的序列化(仅仅当作一种数据格式)的比较,从序列化的内容和特点来对二者进行比较. 结论:1,Java序列化对象时不需要通过属性的get set方法或其它无关序列化内部定义的方法(比如readObject,writeObject是内置的序