Java 反射问题

2019-03-25 13:45|来源: 网路

想问个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);



谢了。。。知道做不了那俺改用其他方法吧。。。。

相关问答

更多
  • 现在好像没有资源了啊,不知道,你要的是不是这些啊 ftp://www.congxue.net:www.congxue.net@down.congxue.net:29/计算机/程序设计/2009-02/[尚学堂][反射机制专题]_200902.rar http://www.verycd.com/topics/187467/
  • 得到三类信息.1.构造函数2.属性3.方法
  • 反射就是不通过继承得到不可以被继承类的实例
  • JAVA的反射机制[2023-10-19]

    import java.lang.reflect.*; /*所谓的反射机制就是 在一个类中调用另一个类里面的方法和属性等,另一个类可能还没有定义好,但是 * 只要知道他里面有方法,就可以调用;调用那个类就要现获得哪个类的完整名字,在创建一个那个类的一个对象 * 如果是调用无参的,实例化对象以后就可以书出了 * 但是如果是有参数的构造,就需要getDeclaredConstructor()方法得到一个相对应的构造函数,放到Constructor的一个变量里面 * 然后,在创建一个Object对象实例化有刚才得 ...
  • 增加程序的灵活性。 如struts中。请求的派发控制。 当请求来到时。struts通过查询配置文件。找到该请求对应的action。已经方法。 然后通过反射实例化action。并调用响应method。 如果不适用反射,那么你就只能写死到代码里了。 所以说,一个灵活,一个不灵活。 很少情况下是非用反射不可的。大多数情况下反射是为了提高程序的灵活性。 因此一般框架中使用较多。因为框架要适用更多的情况。对灵活性要求较高。
  • Reflection(反射) 是 Java 程序开发语言的特征之一,它允许运行中(注意是运行时,而非编译时)的 Java 程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来,能够通过字符串形式的类名称(包括完整包名)反射性地创建类的实例,能够动态执行类方法等。 JavaBean 是 reflection 的实际应用之一,它能让一些工具可视化的操作软件组件。这些工具通过 reflection 动态的载入并取得 Java 组件(类) 的属性。 ...
  • public static void printMethods(Class cl) { Method[] methods =cl.getDeclaredMethods();//返回一个包含方法对象的数组 for(Method m : methods)//循环该类的每个方法 { Class retType = m.getReturnType();//该方法的返回类型, Sting name = m.getName();//获得方法名 Systen.out.print(" "+Modifier.toString ...
  • 把所有方法找出来,然后通过方法名字来推测是哪个,你既然打算反射,当然是别人通过一个字符串把要调用的方法名告诉你了,如果你连方法名都不知道,就表示你不知道要自己做什么,如果这个反射是有“人”通过界面输入来动态地执行那就表示那个“人”不知道自己要做什么?这就是另一个问题了,不是 Java 问题。
  • java反射问题[2023-11-28]

    getDeclaredConstructor 作用是获取类的构造函数 因为是调用构造函数,而实际上,构造函数可能会有多个,所以,根据后面 参数的类型来判断具体是调用哪一个构造函数, String.class就是String类的类型(String),int.class就是int的类型(int) 比如: 类A有如下两个构造函数 Class A{ A(int a){ } A(String sa, int a){ } } 想要调用第一个构造函数时,需要传入int.class, 想要调用第二个构造函数时,需要传入St ...
  • java的反射问题[2023-07-07]

    不清楚你要问什么。利用反射机制实现不同实体之间 相同属性名的复制 我也写过一次。你看下,希望有点帮助 /** * 不同对象间的 复制 (只复制相同属性) * * @param * * @param objType * @param obj * @return * @throws InstantiationException * @throws IllegalAccessException * @throws IllegalArgumentException * @throws SecurityExcepti ...