黑马程序员——JAVA笔记——JavaBean
来源:互联网 发布:救援夫妇知乎 编辑:程序博客网 时间:2024/06/06 12:26
------- android培训、java培训、期待与您交流! ----------
JavaBean:为一种特殊的类,类中大多为私有字段,并通过固定的名称,也就是set、get方法来操作信息。
IntroSpector(内省):为了更好的操作对象的属性而出现,有利于操作对象的属性,减少代码的书写。
内省访问JavaBean代码的方法有两种:
1、通过PropertyDescriptor来操作。
import java.beans.PropertyDescriptor;import java.lang.reflect.Method;public class Demo1{public static void main(String[] args) throws Exception{Student stu=new Student("zhangsan",22);String PropertyName="name";PropertyDescriptor pd=new PropertyDescriptor(PropertyName,Student.class);Method getMethod=pd.getReadMethod();Method setMethod=pd.getWriteMethod();Object name=getMethod.invoke(stu);System.out.println(name);setMethod.invoke(stu,"lisi");System.out.println(getMethod.invoke(stu));}}class Student{private String name;private int age;Student(String name,int age){this.name=name;this.age=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;}}
2、通过IntroSpector中的getBeanInfo方法获取BeanInfo,再通过BeanInfo获取PropertyDescriptors,最后通过PropertyDescriptor获取信息。
import java.beans.BeanInfo;import java.beans.Introspector;import java.beans.PropertyDescriptor;public class Demo1{public static void main(String[] args) throws Exception{Student stu=new Student("zhangsan",22);String PropertyName="name";BeanInfo beaninfo = Introspector.getBeanInfo(Student.class);PropertyDescriptor[] pds = beaninfo.getPropertyDescriptors();for(PropertyDescriptor pd:pds){if(pd.getName().equals(PropertyName)){System.out.println(pd.getReadMethod().invoke(stu));break;}}}}class Student{private String name;private int age;Student(String name,int age){this.name=name;this.age=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;}}
通过PropertyDescriptor获取信息的方法:
getName() 获得属性的名字。
getPropertyType() 获得属性的class对象;
getReadMethod() 获得用于读取属性值的方法;
getWriteMethod() 获得用于写入属性值的方法;
0 0
- 黑马程序员——JAVA笔记——JavaBean
- 黑马程序员 java学习笔记——javaBean
- 黑马程序员—javabean
- 黑马程序员—JavaBean
- 黑马程序员—Java基础加强(JavaBean)
- 黑马程序员—JAVA高新技术之JavaBean
- 黑马程序员——JavaBean
- 黑马程序员——JavaBean
- 黑马程序员——【Java】【高新技术】内省 & JavaBean
- 黑马程序员--Java面向对象——JavaBean内省
- 黑马程序员---------Java面向对象——JavaBean内省
- 黑马程序员java学习<基础加强>—JavaBean
- 黑马程序员—java基础学习--JavaBean的内省操作
- 黑马程序员——JavaBean&注解
- 黑马程序员——内省JavaBean总结
- 黑马程序员——JavaBean内省
- 黑马程序员——高新技术--JavaBean
- 黑马程序员java笔记之三-----JavaBean
- html的文本元素总结
- 什么是IOMMU
- NSURLSession笔记(一)
- C#调用DLL报“试图加载格式不正确的程序”
- Python正则表达式-1
- 黑马程序员——JAVA笔记——JavaBean
- NSURLSession笔记(二)Session Task
- 2015年中国数字营销趋势报告
- ListView Item点击事件无效,不响应
- Qualcomm Snapdragon Debugger for Visual Studio 快速入门指南
- 使用代码实现Android的清除数据的功能
- GitHub上史上最全的Android开源项目分类汇总
- Command /usr/bin/codesign failed with exit code 1
- Python正则表达式-2