首页 / JAVA / 反射-私有变量/私有方法-Java
反射-私有变量/私有方法-Java
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了反射-私有变量/私有方法-Java,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3118字,纯文字阅读大概需要5分钟。
内容图文
1 import java.lang.reflect.Field; 2 import java.lang.reflect.InvocationTargetException; 3 import java.lang.reflect.Method; 4 5 /** 6 * Created with IDEA 7 * author:foreign 8 * Date:2019/9/30 9 * Time:10:40 10 */ 11 public class ReflectionFk { 12 public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException, NoSuchMethodException, InvocationTargetException { 13 PersonFk personFk = new PersonFk(); 14 personFk.setName("foreign"); 15 16 Class clazz = PersonFk.class; 17 //1 获取全部private变量 18 Field[] declaredFields = clazz.getDeclaredFields(); 19 for (Field field : declaredFields) { 20 field.setAccessible(true); 21 System.out.println("获取private字段:" + field); 22 } 23 //1.1 获取指定的private变量 24 Field name = clazz.getDeclaredField("name"); 25 name.setAccessible(true); 26 String str = (String) name.get(personFk); 27 System.out.println("name字段值:" + str); 28 29 //2 获取全部private方法 30 Method[] declaredMethods = clazz.getDeclaredMethods(); 31 for (Method method : declaredMethods) { 32 method.setAccessible(true); 33 System.out.println("获取private方法: " + method); 34 } 35 //2.1 获取指定private方法 36 PersonFk personFk1 = new PersonFk("123"); 37 Method getDepartmentId = clazz.getDeclaredMethod("getDepartmentId", null); 38 getDepartmentId.setAccessible(true); 39 String returnStr = (String) getDepartmentId.invoke(personFk1, null); 40 System.out.println("获取指定的private方法:" + returnStr); 41 } 42 }
实体类
1 /** 2 * Created with IDEA 3 * author:foreign 4 * Date:2019/9/30 5 * Time:10:39 6 */ 7 public class PersonFk { 8 private String name; 9 private Integer age; 10 private Boolean gender; 11 public String desc; 12 private String departmentId; 13 14 public PersonFk(String name, Integer age, Boolean gender, String desc, String departmentId) { 15 this.name = name; 16 this.age = age; 17 this.gender = gender; 18 this.desc = desc; 19 this.departmentId = departmentId; 20 } 21 22 public PersonFk(String departmentId) { 23 this.departmentId = departmentId; 24 } 25 26 public PersonFk() { 27 } 28 29 public String getName() { 30 return name; 31 } 32 33 public void setName(String name) { 34 this.name = name; 35 } 36 37 public Integer getAge() { 38 return age; 39 } 40 41 public void setAge(Integer age) { 42 this.age = age; 43 } 44 45 public Boolean getGender() { 46 return gender; 47 } 48 49 public void setGender(Boolean gender) { 50 this.gender = gender; 51 } 52 53 public String getDesc() { 54 return desc; 55 } 56 57 public void setDesc(String desc) { 58 this.desc = desc; 59 } 60 61 private String getDepartmentId() { 62 return departmentId; 63 } 64 65 public void setDepartmentId(String departmentId) { 66 this.departmentId = departmentId; 67 } 68 }
内容总结
以上是互联网集市为您收集整理的反射-私有变量/私有方法-Java全部内容,希望文章能够帮你解决反射-私有变量/私有方法-Java所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。