Java 反射问题

问题描述

想问个java 反射问题public class A{ public void send(){ B b = new B(); b.send("test"); }}public class B{ public void send(String str){ }}上面有两个类,想用java反射获取A类是否用到B类和B类用到的方法。。怎么做??? 问题补充:beneo 写道

解决方案

引用想用java反射获取A类是否用到B类和B类用到的方法。。怎么做??? 你无法用反射来获取A类是否用到B类和B类的方法,你只能用反射,在A类中调用B类和B类的方法。如果你想获取A类是否用到了B类或者B类的方法,请是用AOP——AOP的实现有很多种,比如Aspectj,spring 的 aop 实现会更方便一些。如果你是想在A类中通过反射来调用B类, Class<?> clazz = B.class; B b = B.class.newInstance(); Method method = b.getDeclaredMethod("send", null); method.invoke(sender, null);
解决方案二:
看API 太清楚不过了···而且还有中文的····

时间: 2024-10-09 20:07:09

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<

Java 反射机制详解及实例代码_java

Java反射详解 本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解. 下面开始正文. [案例1]通过一个对象获得完整的包名和类名 package Reflect; /** * 通过一个对象获得完整的包名和类名 * */ class Demo{ //other codes... } class hello{ public static void main(String[] args) {