反射-Method-Java た 入场券 2023-06-02 10:53 27阅读 0赞 1 import java.lang.reflect.InvocationTargetException; 2 import java.lang.reflect.Method; 3 4 /** 5 * Created with IDEA 6 * author:foreign 7 * Date:2019/9/30 8 * Time:10:40 9 */ 10 public class ReflectionFk { 11 public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { 12 Class clazz = PersonFk.class; 13 //1 获取所有的public的方法 14 Method[] methods = clazz.getMethods(); 15 for (Method method : methods) { 16 System.out.println("public的方法:" + method); 17 } 18 //1.1 获取指定的方法 19 Method setName = clazz.getMethod("setName", new Class[]{String.class}); 20 System.out.println("获取指定的方法:" + setName); 21 //1.2 获取指定的无参数方法 22 Method getName = clazz.getMethod("getName", null); 23 System.out.println("获取无参数的方法:" + getName); 24 //2 获取方法的参数 25 Method setAge = clazz.getMethod("setAge", new Class[]{Integer.class}); 26 Class<?>[] parameterTypes = setAge.getParameterTypes(); 27 for (Class parameter : parameterTypes) { 28 System.out.println("获取方法参数的类型:" + parameter); 29 } 30 //3 获取方法的返回类型 31 Class<?> returnType = setAge.getReturnType(); 32 System.out.println("方法的返回类型:" + returnType); 33 //4 通过method调用非静态方法 34 PersonFk personFk = new PersonFk(); 35 Method setAge1 = clazz.getMethod("setAge", new Class[]{Integer.class}); 36 Object invoke = setAge1.invoke(personFk, Integer.class); 37 System.out.println("调用非静态方法:" + invoke); 38 //4.1 通过method的静态方法,如果setGender为静态方法,则第一个参数传入null即可 39 Method setGender = clazz.getMethod("setGender", Boolean.class); 40 Object invoke1 = setGender.invoke(null, true); 41 System.out.println("调用静态方法:" + invoke1); 42 } 43 } 实体类 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 13 public PersonFk(String name, Integer age, Boolean gender, String desc) { 14 this.name = name; 15 this.age = age; 16 this.gender = gender; 17 this.desc = desc; 18 } 19 20 public PersonFk() { 21 } 22 23 public String getName() { 24 return name; 25 } 26 27 public void setName(String name) { 28 this.name = name; 29 } 30 31 public Integer getAge() { 32 return age; 33 } 34 35 public void setAge(Integer age) { 36 this.age = age; 37 } 38 39 public Boolean getGender() { 40 return gender; 41 } 42 43 public void setGender(Boolean gender) { 44 this.gender = gender; 45 } 46 47 public String getDesc() { 48 return desc; 49 } 50 51 public void setDesc(String desc) { 52 this.desc = desc; 53 } 54 } 转载于:https://www.cnblogs.com/fangke/p/11611583.html
相关 Java反射-反射 API 转自:https://www.jianshu.com/p/e55770dd48d3 涉及这些类 ![watermark_type_ZmFuZ3poZW5naGVpdGk_s 深碍√TFBOYSˉ_/ 2023年01月17日 07:40/ 0 赞/ 308 阅读
相关 反射_反射概述 反射 JAVA反射机制是在运行状态中,对于任意一个 类,都能够知道这个类的所有属性和方法;对 于任意一个对象,都能够调用它的任意一个方 清疚/ 2022年06月17日 02:22/ 0 赞/ 331 阅读
相关 反射 知识点: 1. 类对象概念 2. Class类的使用:创建类对象 3. 动态加载类 4. 获取方法信息 5. 获取成员变量、构造函数信息 6. 方法反射的基本操作 比眉伴天荒/ 2022年04月14日 04:14/ 0 赞/ 293 阅读
相关 反射 // 1.定义一个标准的JavaBean,名叫Person,包含属性name、age。 // 使用反射的方式创建一个实例、调用构造函数初始化name、age,使用反射方式调 Dear 丶/ 2022年04月03日 08:16/ 0 赞/ 271 阅读
相关 反射 > JAVA反射机制是在运行状态中 > > 对于任意一个类,都能够知道这个类的所有属性和方法; > > 对于任意一个对象,都能够调用它的任意一个方法和属性; > > 这种 柔光的暖阳◎/ 2022年02月16日 13:24/ 0 赞/ 218 阅读
相关 反射 反射的概述 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态 喜欢ヅ旅行/ 2022年01月25日 19:23/ 0 赞/ 183 阅读
相关 反射 反射 类加载器的概述 当程序要使用某个类时,如果该类还未被加载到内存中, 则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。 加载 就是指将c 怼烎@/ 2022年01月17日 12:13/ 0 赞/ 299 阅读
相关 【反射】 JAVA 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法 比眉伴天荒/ 2021年11月09日 20:40/ 0 赞/ 605 阅读
相关 反射 反射机制简述 静态编译:在编译时确定类型,绑定对象,即通过。 动态编译:运行时确定类型,绑定对象。动态编译最大限度发挥了java的灵活性,体现了多态的应用,有以降低类之间的 小咪咪/ 2021年09月27日 14:00/ 0 赞/ 440 阅读
相关 反射 RTTI -------------------- 运行时类型识别(RTTI, Run-Time Type Identification)是Java中的机制,在Jav 不念不忘少年蓝@/ 2021年09月23日 00:44/ 0 赞/ 432 阅读
还没有评论,来说两句吧...