package com.cn.gbx;

public class Person {

//这里指的是单纯的字段

private String name;

private int age;

//有多少种不同的getter / setter就有多少个属性 这里三个但是还要加上 Object类里面的一个getClass 共四个

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 String getDetail() {

return name + " : " + age;

}

}

public class DemoTest {

/*

* 通过内省获得bean的所有属性

*/

@Test

public void test1() throws IntrospectionException {

BeanInfo beanInfo = Introspector.getBeanInfo(Person.class);

PropertyDescriptor[] propertyDescriptor = beanInfo.getPropertyDescriptors();

for (PropertyDescriptor p : propertyDescriptor) {

System.out.println(p.getName());

}

}

/*

* 删掉父类的属性

*/

@Test

public void test2() throws IntrospectionException {

BeanInfo beanInfo = Introspector.getBeanInfo(Person.class, Object.class);

PropertyDescriptor[] propertyDescriptor = beanInfo.getPropertyDescriptors();

for (PropertyDescriptor p : propertyDescriptor) {

System.out.println(p.getName());

}

}

/*

* 得到指定属性

*/

@Test

public void test3() throws IntrospectionException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {

Person p = new Person();

PropertyDescriptor descriptor = new PropertyDescriptor("name", Person.class);

Method method = descriptor.getWriteMethod();

method.invoke(p, "gbx");

System.out.println("write " + p.getName());

Method method2 = descriptor.getReadMethod();

System.out.println("read " + method2.invoke(p, null));

System.out.println("获得属性的类型 : " + descriptor.getPropertyType());

}

}

内省java_Java中的内省相关推荐

  1. OC中的内省方法初探

    内省(Introspection)是对象揭示自己作为一个运行时对象的详细信息的一种能力.NSObject协议和类定义了很多内省方法,用于查询运行时信息,以便根据对象的特征进行识别. 在iOS开发过程中 ...

  2. java内省的意思,java内省机制 + 内省是什么 + 内省实现方式 + 和反射的区别

    见:https://zhidao.baidu.com/question/434288330.html.http://blog.csdn.net/u014394715/article/details/5 ...

  3. java的内省有用么_JAVA中的内省使用

    以下两段参考: 关于内省的思考 struts2的action(还有struts1的formbean)就是这么实现的. 前台的form标签具有一些属性(在配置文件中知道这个form提交到那个action ...

  4. java中的内省 (Introspector)

    2019独角兽企业重金招聘Python工程师标准>>> 2.JavaBean:>>>>>>>>>>>>> ...

  5. java 中的内省 introspector

    概述 经常需要使用java对象的属性来封装程序的数据,每次都使用反射技术完成此类操作过于麻烦,所以sun公司开发了一套API,专门用于操作java对象的属性. 内省(IntroSpector)是Jav ...

  6. 内省java_Java内省 – 奇怪的行为

    下面的代码是一个很容易重现问题的小例子.所以我有一个类型为String的变量,在其上设置一个默认值.我有3种方法: 吸气剂 >设定者 >方便的方法,将字符串转换为布尔值 内部回调并不返回g ...

  7. java内省的意思_java内省和反射的区别

    展开全部 经过多方面的资料搜集整理,写下了这篇文章,本文主要讲解java的反射和内e68a843231313335323631343130323136353331333363366237省机制,希望对 ...

  8. java 内省_Java反射与内省

    反射 用一句比较白的话来概括,反射就是让你可以通过名称来得到对象(类,属性,方法)的技术. 例如我们可以通过类名来生成一个类的实例:知道了方法名,就可以调用这个方法:知道了属性名就可以访问这个属性的值 ...

  9. java内省的意思,Java内省机制

    内省概述 内省(Introspector)是Java语言对JavaBean类的属性,事件和方法的默认处理方式 例如: 类User中有属性name,那么必定有getName,setName方法,内省就是 ...

最新文章

  1. 非洲的风能和太阳能真是企业家无与伦比的商机?
  2. JS双向数据绑定的原理介绍
  3. windows下mysql的数据备份
  4. PE文件格式(加密与解密3)(一)
  5. MyBatis框架学习笔记04:利用MyBatis实现条件查询
  6. 绕过COM,一个巧妙的思路
  7. AutoIT: ControlCommand是一个非常重要的指令
  8. 如何查看mysql默认字符集_如何找出MySQL中的默认服务器字符集?
  9. FBI 和 NSA 披露俄罗斯国家黑客使用的 Linux 恶意软件
  10. 离散数学复习--第一章:命题逻辑
  11. 计算方法 matlab,计算方法及其MATLAB实现
  12. 红外感应器+arduino+processing+flash 实现麦克风吹波波效果
  13. java 比较日期大小(方法之一compare to 备忘)
  14. 线性回归及RANSAC异常值清除算法案例
  15. 网站技术分析报告之——开心网_转载
  16. android 手机桌面角标,华为手机设置桌面图标角标提醒的实现
  17. 有什么比较适合个人日常办公管理的便签软件
  18. 英语教师计算机研修总结,英语教师个人研修总结范文
  19. ixgbe网卡驱动 Ⅳ----收发包流程详解
  20. 系统设计:在线支付系统的需求分析报告

热门文章

  1. Lubuntu系统介绍
  2. C语言 子函数改变指针指向的值
  3. android系统息屏设置_不用羡慕了!安卓8.0手机都能用上息屏显示
  4. 三 iOS之 CALayer的隐式动画
  5. DAM2+加密狗克隆方法
  6. 制作彩色艺术效果图(每天一个PS小项目)
  7. 「重要」请收藏!EOS大生态常用链接一览
  8. 支付宝花呗还款日怎么从每9号调整支付宝花呗还款日为每月15号或每月20号还款?
  9. 原生js选择器或者选择元素或者选择方式
  10. C语言中字符串分配几个字节,浅谈C++中的string 类型占几个字节