Java Reflect

 1 package observer;
 2
 3 import java.lang.reflect.Method;
 4
 5 import oracle.net.aso.c;
 6
 7 public class Test {
 8
 9     public static void main(String[] args) throws Exception {
10
11         String str = "observer.Dad";
12         Class cls = Class.forName(str);
13         Object obj = cls.newInstance();
14         Method[] methods = cls.getMethods();
15         for(Method m:methods)
16         {
17             if(m.getName().equals("ActionToWakeup"))
18             {
19                 m.invoke(obj, new WakeupEvent(0, "", null));
20             }
21         }
22     }
23 }
1 package observer;
2
3 public class Dad{
4     @Override
5     public void ActionToWakeup(WakeupEvent e) {
6         System.out.println("儿子醒了,我要去喂奶了。。。");
7     }
8 }

时间: 2024-10-11 06:25:12

Java Reflect的相关文章

关于java reflect

反射的基石 Class类 对比提问: Person类代表人,它的实例对象就是张三,李四这样一个个具体的人, Java程序中的各个Java类属于同一类事物,描述这类事物的Java类名就是Class.对比提问:众多的人用一个什么类表示?众多的Java类用一个什么类表示? 人 Person Java类 Class Class类代表Java类,它的各个实例对象又分别对应什么呢? 对应各个类在内存中的字节码,例如,Person类的字节码,ArrayList类的字节码,等等. 一个类被类加载器加载到内存中,

Java反射学习(java reflect)(二)

ok之前说了Java的反射和反射分析类,那这些东西有神马作用呢,下面就来说应用: 三.运行时使用反射分析对象 简单写一个Employee类,然后利用JAVA反射去取name域,getDeclareField(String  name)可以取得全部,就算是private的上面说过了,所以到第9行还是没问题的. .. 但是在第11行的时候错了,因为get(Field f)没有访问权限所以IllegalAccessException,在这里有个方法setAccessible(Boolean b),这货

Java反射学习(java reflect)(一)

具有能够分析类能力的程序被称为反射,使用反射库可以编写能够动态操纵Java代码的程序. 一.开始 背景:Java运行时系统始终对所有对象维护一个被称为Runtime的类型标识,然后这货save着每个对象所属类的足迹,虚拟机利用运行时信息选择相应方法执行.保存这些信息的类为Class,取得Class的实例化对象就可以进行下一步的操作了: Class类: 取得Class类对象的三种方法: getClass(): Hehe e; Class cl=e.getClass(); forName(Strin

Java —— Reflect反射机制

Class类的使用 OOP的世界里,万事万物皆对象.类是谁的对象呢?——类是对象,类是java.lang.Class类的实例对象!There is a class named class. 实例: //有一个类 class Foo { void print() {System.out.println("Foo");} } //在main函数里: public static void main(String[] args) { //Foo这个类也是一个实例对象,Class类的实例对象,如

java reflect反射总结

--------------TestBean package lh.demo.bean; public class TestBean { private String userName; private String password; private String age; public TestBean (){ } public TestBean (String _userName,String _password,String _age){ this.userName = _userNam

Java Reflect (Java初级)

要讲反射,我们必须要弄清楚Class Object,因为反射提供的方法都是Class Object提供的. 下面是java.lang.Class的类注释: Instances of the class Class represent classes and interfaces in a running Java application. An enum is a kind of class and an annotation is a kind of interface. Every arra

Java Reflection 相关及示例

Java Reflection 相关及示例 前言: 代码有点长.贴出github地址:https://github.com/andyChenHuaYing/scattered-items/tree/master/items-java-reflection 测试目标类:TargetClass.自定义的辅助类比较多.在这里不贴了.篇幅有限.并且测试也简单.因此测试类也没有提及. 一:简介 Java Reflection是针对Class也就是我们平常说的类而言的.用于操作Java中的Class.在Ja

Java反射入门

Java这么多高灵活性,很多都是利用反射来实现的,所谓的反射是指,编译期间完全未知的classes,运行时,对任一个类(根据类名-字符串),能够知道这个类的所有属性和方法:对于任一个对象,都能够调用它的任意一个方法和属性. 简而言之,Java反射机制主要提供了以下功能: ?  在运行时判断任意一个对象所属的类:obj.getClass() ?  在运行时构造任意一个类的对象: ?  在运行时判断任意一个类所具有的成员变量和方法: ?  在运行时调用任意一个对象的方法. 下面我们先用一个简单小例体

JAVA面试题最全集

JAVA面试题最全集 2009-01-19 15:40 3458人阅读 评论(0) 收藏 举报 java面试ejbservletstringhashmap 一.Java基础知识1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别.2.字符串的操作:  写一个方法,实现字符串的反转,如:输入abc,输出cba  写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc.3.数据类型之间的转换  如何将数值型字符转换为数字(Integer,Doubl