Java反射机制(代码练习).docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java反射机制(代码练习)

package com.cta.reflection.test;import java.lang.reflect.Method;publicclass DumpMethods {publicstaticvoid main(String[] args){Class classType = String.class; // Class.forName(java.lang.String)//获得String类的所有方法Method method[] = classType.getMethods(); // 所有公有的方法//Method method[] = classType.getDeclaredMethods(); // 所有的方法,包括受保护、私有的//String 类的所有方法for( int i = 0 ; i method.length ; i++){System.out.println(method[i].toString());}}}package com.cta.reflection.test;publicclass Customer {privatelongid;private String name;privateintage;public Customer() { }public Customer(String name, int age) { = name;this.age = age; }publiclong getId() {returnid; }publicvoid setId(long id) {this.id = id; }public String getName() {returnname; }publicvoid setName(String name) { = name; }publicint getAge() {returnage; }publicvoid setAge(int age) {this.age = age; }}package com.cta.reflection.test;import java.lang.reflect.Field;import java.lang.reflect.Method;public class ReflectTester {public Object copy(Object object) throws Exception{Class classType = object.getClass();System.out.println(Class + classType.getName()); //该类的完整类名//根据该类的默认构造函数构建一个实例对象Object objectCopy = classType.getConstructor(new Class[]{}).newInstance(new Object[]{});//获得对象的所有属性Field fields[] = classType.getDeclaredFields(); for (int i = 0 ; i fields.length ; i++){Field field = fields[i];//System.out.println(属性的声明: + field);String fieldName = field.getName();//System.out.println(属性名是: + fieldName);String fieldLetter = fieldName.substring(0, 1).toUpperCase(); //取属性名的第一个字母,首字母大写//获取和属性对应的getXX()和setXX()方法名 String getMethodName = get + fieldLetter + fieldName.substring(1); String setMethodName = set + fieldLetter + fieldName.substring(1); //获取和属性对应的getXX()和setXX()方法 Method getMethod = classType.getMethod(getMethodName, new Class[]{}); Method setMethod = classType.getMethod(setMethodName, new Class[]{field.getType()}); /** ======

文档评论(0)

ipbohn97 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档