请问这个要用反射机制么?

xcmzc 2014-12-19 12:48:35
我写一个类,里面实现了 getXXX(); getYYY(); 方法

再进行封装成jar包 放入一个项目中 导包。
如何直接用一个名称.methodName();
求大神!
...全文
178 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
shixitong 2014-12-19
  • 打赏
  • 举报
回复
如果是非静态方法,比如你写的类是TestUtil ,那么你new TestUtil().getXXXX() 如果是静态方法,那么就直接用TestUtil.getXXXX()
波儸密 2014-12-19
  • 打赏
  • 举报
回复
类名.getClass().getDeclaredMethod(方法名, null).invoke(类名, null)
xcmzc 2014-12-19
  • 打赏
  • 举报
回复
类的实例由spring 进行实例化的。
xcmzc 2014-12-19
  • 打赏
  • 举报
回复
我用 SSH 框架 这个类用AOP 切在业务逻辑层
xcmzc 2014-12-19
  • 打赏
  • 举报
回复
~_~ 我是调用的时候不想 new这个类的实例 通过反射进行实例化
shixitong 2014-12-19
  • 打赏
  • 举报
回复
引用
因为我直接写了这个类 把他编译成class文件 打成jar包,外面类调用这个类必须实例化才能掉用,不能通过类名.方法名调用.
哪个和你讲的? 你把你这个类贴出来,然后怎么调用的贴出来看看
xcmzc 2014-12-19
  • 打赏
  • 举报
回复
引用 8 楼 shixitong 的回复:
[quote=引用 5 楼 xcmzc 的回复:] 这个类 里面2个静态方法,把它打成JAR包 ,生成class文件 ,另一个 项目导入这个jar包, 但是这个类没有实例化,就不能调用这个里面的方法,请问反射机制怎么做?
1、如果只是调用这个jar包中某个类的静态方法,是根本不需要反射的 2、如果你是静态方法,那么这个方法作用范围是类,那么和这个类是否实例化没有任何关系 3、如果你在另一个项目中导入了这个jar包(正确导入),是肯定可以调用这个类的静态方法的[/quote] 因为我直接写了这个类 把他编译成class文件 打成jar包,外面类调用这个类必须实例化才能掉用,不能通过类名.方法名调用.
shixitong 2014-12-19
  • 打赏
  • 举报
回复
引用 5 楼 xcmzc 的回复:
这个类 里面2个静态方法,把它打成JAR包 ,生成class文件 ,另一个 项目导入这个jar包, 但是这个类没有实例化,就不能调用这个里面的方法,请问反射机制怎么做?
1、如果只是调用这个jar包中某个类的静态方法,是根本不需要反射的 2、如果你是静态方法,那么这个方法作用范围是类,那么和这个类是否实例化没有任何关系 3、如果你在另一个项目中导入了这个jar包(正确导入),是肯定可以调用这个类的静态方法的
xcmzc 2014-12-19
  • 打赏
  • 举报
回复
就是外面调用这个类的方法 我不需要new 一个类的对象去调用方法,比如 name.MethodName 就能得到这个类的方法.
wexuankang 2014-12-19
  • 打赏
  • 举报
回复
你是说得到方法的名么? Method[] methods = new className(); for(Method m:methods ){ m.getName(); }
xcmzc 2014-12-19
  • 打赏
  • 举报
回复
这个类 里面2个静态方法,把它打成JAR包 ,生成class文件 ,另一个 项目导入这个jar包, 但是这个类没有实例化,就不能调用这个里面的方法,请问反射机制怎么做?
shixitong 2014-12-19
  • 打赏
  • 举报
回复
引用 2 楼 xcmzc 的回复:
类名点方法名不能点出.
如果想直接用类名点出方法名,那要保证你类中的方法是静态方法 比如
public  static void setDirs(){
}
xcmzc 2014-12-19
  • 打赏
  • 举报
回复
因为这个类没有实例化。
xcmzc 2014-12-19
  • 打赏
  • 举报
回复
类名点方法名不能点出.

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧