当前位置:  技术问答>java相关

请问:如何把一个方法作为另一个方法的参数?举个例子最好

    来源: 互联网  发布时间:2015-06-17

    本文导语:  up | int method1() {    int i=10;    return i; } void method2(int x) {   ...   ... } 然后 就可以调用method2(method1()); | 其实那应该是第二个方法有个返回值,然后将返回传给第一个...

up

|
int method1()
{
   int i=10;
   return i;
}
void method2(int x)
{
  ...
  ...
}
然后
就可以调用method2(method1());


|
其实那应该是第二个方法有个返回值,然后将返回传给第一个方法吧。如:
public int method1() {
  int i=0;
  ....
  return i;
}
public void method2(int i) {
  ...
}
public void method3() {
....
  method2(method1());
....
}
不知是不是这个意思?

|
c是可以用函数指针来实现,java是不行的。不过你可以把方法的名称作为参数传进去,然后根据名称去执行那个方法。如何根据方法名称字符串调用方法,看一下下面的代码。
Class Cls = Class.forName("className");
Object obj= Cls.newInstance();
Method method = (Method)(Cls.getClass().getMethod("methodName");
method.invoke(obj);
这段代码是假设你要调用的方法是一个没有返回值和参数的方法

|
你是否要这样:
import java.lang.reflect.*;

public class TestMethod
{
public static void main(String args[])
{
TestMethod t = new TestMethod();
t.test();
}

public void test()
{
try
{
Class[] cls = new Class[0];
System.out.println("TestMethod 1 :");
Method m1 = this.getClass().getDeclaredMethod("test1",cls);
testMethod(this,m1);

System.out.println("TestMethod 2 :");
Method m2 = this.getClass().getDeclaredMethod("test2",cls);
testMethod(this,m2);

System.out.println("TestMethod 3 :");
Method m3 = this.getClass().getDeclaredMethod("test3",cls);
testMethod(this,m3);
}
catch(Exception e)
{
e.printStackTrace();
}
}
public String test1()
{
System.out.println("Test 1");
return "t1";
}
public int test2()
{
System.out.println("Test 2");
return 2;
}
public void test3()
{
System.out.println("Test 3");
}
public void testMethod(Object fromObj,Method method)
{
try
{
Object[] objs = new Object[0];
Object obj = method.invoke(fromObj,objs);
System.out.println("Return " + obj);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}

    
 
 

您可能感兴趣的文章:

  • 请问RH9 的shell 下配置自带防火墙的方法,启动/关闭方法
  • 请问大侠: 2.4下应用程序(user space)传大量数据给内核模块(kernel space)的可选方法和最佳方法.
  • 请问怎么在static的方法里调用另一个方法?
  • 请问一个方法的返回值类型为一个复数,那么怎样定义这个方法的返回值类型
  • 请问这个方法如何调用?
  • 请问怎么破解BIOS密码?(用软件方法)在线等待!
  • 请问在Ubuntu下用什么方法可以进行代码的性能测试?
  • 请问各位高手,有什么好方法监视运行着的程序?
  • 请问用什么方法取得表中的记录数?是getRowCount么?
  • 请问:有没有对数组(int)进行排序的的方法???
  • 请问exception类中的方法printStackTrace()是做什么用的?
  • 请问用什么方法能判断一个文件是否存在,谢谢!
  • 请问哪里有报文截取方法的资料。
  • 请问:如何调用抽象类的方法
  • 请问内核从2.6.11升级到2.6.16的方法
  • 请问聊天室中显示用户在线离线的原理是怎样?有哪些方法实现呢?
  • 请问要得到远程访问站点的ip地址以及所在的页面,用request的什么方法?
  • 请问如何改变内核的压缩方法?
  • 请问有没有更新JScrollPane的方法。
  • 请问有什么方法可以汉化Xwindows下的英文软件?
  • 技术文章 iis7站长之家
  • 请问那里有现成ejb的具体的简单的实际例子?
  • 请问sun的jwsdk的例子中jsp为什么不能使用?
  • 英雄在哪儿?请问如何让WEBLOGIC6.1自带的例子程序跑起来???
  • 请问java里怎么用goto语句??举个例子,好吗?谢谢
  • 请问如何编写代理服务器?最好能给个例子。
  • 各位请问如何linux下安装程序,和windows 比较什么区别,最好给个例子
  • 请问从哪里可以下到UNIX网络编程代码例子里用的包裹函数啊
  • 请问a method能return an exception吗?能写个例子看看吗?
  • 请问:哪里有java所有类包的介绍,用法,及所有类的用途,用法,例子等的书或帮助的下载?
  • 求助:请问各位大侠,哪儿有一个关于开发EJB完整的从发布到运行的例子
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问:linux下如何将一个类的指针作为参数传给pthread_create创建的线程?
  • 请问怎么把一个应用程序作为一个服务来运行啊?
  • 请问:作为服务端,怎样知道对方(客户端)已关闭了链路?(前提是不用给对方发数据)
  • 请问如何将一小片SRAM映射到MMU中,作为中断向量表使用?
  • 请问是否可以将JSP文件的源代码作为一个STRING读入?
  • 请问如何将一个图片作为一个panel的背景,需源代码。谢谢!
  • 请问:linux可以像win98一样作为客户端登录到Win2000 Server上的域吗?如果可以,该如何设置呢
  • 我要裁减LINUX成为一个嵌入式系统,请问在哪个版本的内核上进行这项工作为佳?(100分立给)
  • 我用管道作为一个程序的标准输入时,程序报错说不是一个终端不能做为标准输入,请问怎么样管道成为它的标准输入呢???具体错误信息见内
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!
  • 主机是WIN2000,我用的是LUNIX,请问是否可以共享上网? 如果可以请问如何设置? 500分答谢,龟儿食言!
  • 请问linux下GUI开发的问题!
  • 请问出现fstab文件丢失该怎么修复呀?
  • 请问一个奇怪的问题!
  • 请问在网页中打开的新窗口,如何让其居中。
  • 请问我该学什么了
  • 请问安装zhcon,cxterm问题
  • 非常急! 请问daemontools 在red hat 9下的安装问题? 在线等待
  • 请问如何在一台单机上装VMware的网络访问问题?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3