首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

黑马软件工程师-java高新技术06

2012-10-29 
黑马程序员-java高新技术06----------------------android培训、java培训、java学习型技术博客、期待与您交流

黑马程序员-java高新技术06

----------------------android培训、java培训、java学习型技术博客、期待与您交流!----------------------

?

?

JavaBean是一种特殊的Java类,主要用于传递数据信息,这种java类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。

如果要在两个模块之间传递多个信息,可以将这些信息封装到一个JavaBean中,这种JavaBean的实例对象通常称之为值对象(Value Object,简称VO)。这些信息在类中用私有字段来存储,如果读取或设置这些字段的值,则需要通过一些相应的方法来访问。

JavaBean的属性是根据其中的settergetter方法来确定的,而不是根据其中的成员变量。如果方法名为setId,中文意思即为设置id,至于把它存到哪个变量上,我们不用关心,如果方法名为getId,中文意思即为获取id,同样我们也不用关系它是从哪个变量上取得的。去掉set前缀,剩余部分就是属性名,如果剩余部分的第二个字母是小写的,则把剩余部分的首字母改成小的。

setId()的属性名àid

isLast()的属性名àlast

setCPU的属性名是什么?àCPU

getUPS的属性名是什么?àUPS

一个类被当作javaBean使用时,JavaBean的属性是根据方法名推断出来的,它根本看不到java类内部的成员变量。?

JDK中提供了对JavaBean进行操作的一些API,这套API就称为内省(IntroSpector)。

?

?下面通过一个简单的程序演示如何用内省来操作JavaBean

import java.beans.BeanInfo;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.Method;public class IntroSpectorDemo {public static void main(String[] args) throws Exception {Student s = new Student();PropertyDescriptor pd = new PropertyDescriptor("name", Student.class);//得到属性的写方法,为属性赋值Method writeMethod = pd.getWriteMethod();writeMethod.invoke(s, "zhangsan");//得到属性的读方法,得到属性值Method readMethod = pd.getReadMethod();String name = (String) readMethod.invoke(s);System.out.println("名字是:" + name);//获取属性的类型System.out.println("name属性的类型是:" + pd.getPropertyType().getName()); //获取对象的所有属性名,不包括从父类(这里是指Object)继承来的属性BeanInfo bi = Introspector.getBeanInfo(Student.class, Object.class); PropertyDescriptor[] pds = bi.getPropertyDescriptors();for (PropertyDescriptor p : pds) {System.out.println(p.getName());}}}class Student {private String name;private int age;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;}}

?

?----------------------android培训、java培训、java学习型技术博客、期待与您交流!----------------------

??

?

详情请查看:http://edu.csdn.net/heima

?

?

热点排行