Java反射深度测试

通过反射API构造对象,并使用反射调用方式访问对象的public/private方法和字段。

package lavasoft.test;
/**
* 测试的业务类
*
* @author leizhimin 2010-5-6 20:16:10
*/
public class MyService {
         private String msg;
         public MyService() {
                 System.out.println("log: 无参构造方法 lavasoft.test.MyService.MyService()被调用过了!");
         }
         public MyService(String msg) {
                 System.out.println("log: 有参构造方法 lavasoft.test.MyService.MyService()被调用过了!");
                 this.msg = msg;
         }
         public String doSomething(String person, String something) {
                 System.out.println("log: 业务方法 lavasoft.test.MyService.doSomething()被调用过了!");
                 return person + " is doing " + something + "!     " +
                                 "附加消息:" + msg;
         }
         public String getMsg() {
                 System.out.println("log: lavasoft.test.MyService.getMsg ()被调用过了!");
                 return msg;
         }
         public void setMsg(String msg) {
                 System.out.println("log: lavasoft.test.MyService.setMsg ()被调用过了!");
                 this.msg = msg;
         }
         private String doPrivate() {
                 System.out.println("log: 私有方法 lavasoft.test.MyService.doPrivate()被调用过了!");
                 return "私有方法doPrivate()被调用了!";
         }
}

时间: 2024-09-24 11:58:08

Java反射深度测试的相关文章

Java反射机制:包括组成、结构和示例说明等内容

第1部分 Java 反射机制介绍 Java 反射机制.通俗来讲呢,就是在运行状态中,我们可以根据"类的部分已经的信息"来还原"类的全部的信息".这里"类的部分已经的信息",可以是"类名"或"类的对象"等信息."类的全部信息"就是指"类的属性,方法,继承关系和Annotation注解"等内容. 举个简单的例子:假设对于类ReflectionTest.java,我们知道的

java反射机制系列(二)例子

下面我以顾客买相机为例来说明Java反射机制的应用.例子中涉及的类和接口有: Camera接口:定义了takePhoto()方法. Camera01类:一种照相机的类型,实现Camera接口. Camera02类:另一种照相机的类型,实现Camera接口. Seller类:卖照相机. Customer类:买相机,有main方法. 所有类都放在com包里 程序如下: public interface Camera { //声明照相机必须可以拍照 public void takePhoto(); }

java 反射机制系列(一) 初识Java Reflection

Java 反射机制是指Java程序可以在执行期载入,探知,使用编译期间完全未知的classes.这句话可能有点难以理解,我们可以通过一个例子来看.在Java程序中我们经常会用到这样一条语句来创建一个对象.Date date = new Date();在这条语句中date的类型(Java.util.Date)在编译时 已经确定.那么,有没有办法使我们把对象类型的确定时间由编译转到运行,答案是肯定的.这就是Java反射机制所提供的便利.而且它不单单可以生成对象还可以获取Field,对Field设值,

使用Java反射机制确定基本数据类型属性

Java反射机制提供了一种强大的应用程序接口来帮助我们在运行时检测和执行对象上的操作.该机制允许程序员审视一个未知对象,并且获得它的属性,例如对象上的方法,JavaBean的属性以及继承关系等. Java中有两种类型的值,一种是类类型,它把对象的属性定义在一个类中.类类型是面向对象结构的基本组成部分.第二种类型的值是基本数据类型.反射类型通常用于类类型,但是,其实它也可以很方便应用到Java的基本类型上. Java中的基本类型继承自基于C的语法,其中包括boolean.byte.short.in

初学java反射的问题 一直抛出classnotfoundexception

问题描述 初学java反射的问题 一直抛出classnotfoundexception public class TestReflection { public static void main(String[] args) { try{ String str = ""T""; Class c = Class.forName(str); c.newInstance(); } catch (ClassNotFoundException e) { e.printStac

Java 反射之动态代理

利用Java反射机制你可以在运行期动态的创建接口的实现.java.lang.reflect.Proxy类就可以实现这一功能.这个类的名字(译者注:Proxy意思为代理)就是为什么把动态接口实现叫做动态代理.动态的代理的用途十分广泛,比如数据库连接和事物管理(transaction management)还有单元测试时用到的动态mock对象以及AOP中的方法拦截功能等等都使用到了动态代理. 创建代理你可以通过使用Proxy.newProxyInstance()方法创建动态代理.newProxyIn

继承-关于java反射的问题!

问题描述 关于java反射的问题! RT: 例如:有一个工具类BaseUtil 方法:public class BaseUtil 一个java普通类:User 继承 BaseUtil 方法 public class User() extends BaseUtil<User>{}; 问题来了 我在BaseUtil类里如何获取继承它本身的类实例?(运行时) 解决方案 浅谈java反射问题java反射里的数组问题Java反射相关问题 解决方案二: 通过反射可以取得 本类的构造器,属性, 权限修饰符

Java反射在JVM的实现

本文目录 什么是Java反射,有什么用? Java Class文件的结构 Java Class加载的过程 反射在native的实现 附录 1. 什么是Java反射,有什么用? 反射使程序代码能够接入装载到JVM中的类的内部信息,允许在编写与执行时,而不是源代码中选定的类协作的代码,是以开发效率换运行效率的一种手段.这使反射成为构建灵活应用的主要工具. 反射可以: 调用一些私有方法,实现黑科技.比如双卡短信发送.设置状态栏颜色.自动挂电话等. 实现序列化与反序列化,比如PO的ORM,Json解析等

java 利用java反射机制动态加载类的简单实现_java

如下所示: ////////////////// Load.java package org.bromon.reflect; import java.util.ArrayList; import java.util.List; public class Load implements Operator { @Override public List<?> act(List<?> params) { // TODO Auto-generated method stub List<