java反射的总结
2014-06-13 13:40
197 查看
Student类:
package com.blank.test; public class Student { private int age; private String name; public Student(int age, String name) { super(); this.age = age; this.name = name; } public Student() { } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public static void hi(int age, String name) { System.out.println("大家好,我叫" + name + ",今年" + age + "岁"); } public String toString() { return "大家好,我叫" + name + ",今年" + age + "岁"; } }
package com.blank.test; import java.lang.reflect.Field; import java.lang.reflect.Method; public class Test { public static void main(String[] args) throws Exception { Class cls = Class.forName("com.blank.test.Student"); // 生成实例化对象 Student s1 = (Student) cls.newInstance();// 新实例 // 对静态方法的调用 Method m1 = cls.getMethod("hi", int.class, String.class);// getDeclaredField是可以获取一个类的所有字段.getField只能获取类的public字段 m1.invoke(cls, 20, "b");// hi是静态方法可以不用实例化 // 对非静态方法的调用 Method m2 = cls.getDeclaredMethod("setName", String.class); m2.invoke(cls.newInstance(), "c");// 不是静态方法,必须实例化 // 对private成员的访问 Field f1 = cls.getDeclaredField("name"); f1.setAccessible(true);// 设置允许访问 f1.set(s1, "f"); System.out.println(f1.get(s1)); } }
相关文章推荐
- java 反射 总结
- java反射总结
- Java 反射获取类详细信息的常用方法总结
- 黑马程序员_java反射总结
- 基于java中反射的总结分析
- java 反射的一些使用总结
- 黑马程序员:Java基础总结----反射
- java反射reflect学习总结
- 黑马程序员__JAVA高新技术--反射、注解总结
- Java增强_反射的总结
- java 反射 总结
- Java基础加强反射总结
- 黑马程序员___java反射的总结
- 黑马程序员 Java高新技术 反射总结
- java中的反射总结
- java 反射 总结
- java 反射知识总结
- Core Java第十六章知识点总结——反射
- Java 反射机制简单总结
- Java反射与内省机制总结