天涯尽头无女友

对于那些想要在Java 7中使用直接代码示例的人:Dog 类:package com.mypackage.bean;public class Dog {

private String name;

private int age;

public Dog() {

// empty constructor

}

public Dog(String name, int age) {

this.name = name;

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public void printDog(String name, int age) {

System.out.println(name + " is " + age + " year(s) old.");

}}ReflectionDemo 类:package com.mypackage.demo;import java.lang.reflect.*;public class ReflectionDemo {

public static void main(String[] args) throws Exception {

String dogClassName = "com.mypackage.bean.Dog";

Class> dogClass = Class.forName(dogClassName); // convert string classname to class

Object dog = dogClass.newInstance(); // invoke empty constructor

String methodName = "";

// with single parameter, return void

methodName = "setName";

Method setNameMethod = dog.getClass().getMethod(methodName, String.class);

setNameMethod.invoke(dog, "Mishka"); // pass arg

// without parameters, return string

methodName = "getName";

Method getNameMethod = dog.getClass().getMethod(methodName);

String name = (String) getNameMethod.invoke(dog); // explicit cast

// with multiple parameters

methodName = "printDog";

Class>[] paramTypes = {String.class, int.class};

Method printDogMethod = dog.getClass().getMethod(methodName, paramTypes);

printDogMethod.invoke(dog, name, 3); // pass args

}}输出: Mishka is 3 year(s) old.您可以通过以下方式调用带有参数的构造函数:Constructor> dogConstructor = dogClass.getConstructor(String.class, int.class);Object dog = dogConstructor.newInstance("Hachiko", 10);或者,您可以删除String dogClassName = "com.mypackage.bean.Dog";Class> dogClass = Class.forName(dogClassName);Object dog = dogClass.newInstance();并做Dog dog = new Dog();Method method = Dog.class.getMethod(methodName, ...);method.invoke(dog, ...);建议阅读: 创建新类实例

输出字符串引用名java_将方法名称作为字符串给出时,如何调用Java方法?相关推荐

  1. Java中获得了方法名称的字符串,怎么样调用该方法

    问题: Java中获得了方法名称的字符串,怎么样调用该方法 如果我有以下两个变量 Object obj; String methodName = "getName"; 在不知道ob ...

  2. 【Android NDK 开发】JNI 方法解析 ( C/C++ 调用 Java 方法 | 函数签名 | 调用对象方法 | 调用静态方法 )

    文章目录 I . 调用 Java 方法流程 II . 获取 jclass 对象 ( GetObjectClass ) III . 获取 jclass 对象 ( FindClass ) IV . JNI ...

  3. c 调用java post方法_C#调用Java方法(详细实例)

    C#可以直接引用C++的DLL和转换JAVA写好的程序.最近由于工作原因接触这方面比较多,根据实际需求,我们通过一个具体例子把一个JAVA方法转换成可以由C#直接调用的DLL C#调用c++ C#调用 ...

  4. JNI基础 c语言调用java方法

    利用c语言调用java无参的方法 java方法 com.example.jniparsedata.ParseData类中的方法     //打印     public void sayHelloFro ...

  5. 本地方法(JNI)——调用 java 方法

    [0]README 1) 本文部分文字描述 转自 core java volume 2 , 旨在理解 本地方法(JNI)--调用 java 方法 的基础知识 : 2) C语言调用java 方法,包括: ...

  6. xsl调用java方法传参_Java中的XSL转换:一种简单的方法

    xsl调用java方法传参 XSL转换 (XSLT)是将一个XML文档转换为另一个XML文档的强大机制. 但是,在Java中,XML操作相当冗长和复杂. 即使是简单的XSL转换,也必须编写几十行代码- ...

  7. C#调用Java方法(详细实例)

    C#可以直接引用C++的DLL和转换JAVA写好的程序.最近由于工作原因接触这方面比较多,根据实际需求,我们通过一个具体例子把一个JAVA方法转换成可以由C#直接调用的DLL C#调用c++ C#调用 ...

  8. js调用java_Js调用Java方法并互相传参的简单实例

    Js通过PhoneGap调用Java方法并互相传参的. 一.JAVA代码 写一个类,该类继承自Plugin并重写execute方法. public class PluginTest extends P ...

  9. cocos2dx在Android studio运行 以及在 Android 平台上使用 JavaScript 直接调用 Java 方法

    cocos2dx在Android studio运行 以及在 Android 平台上使用 JavaScript 直接调用 Java 方法 cocos2dx在Android studio运行 使用Andr ...

  10. js调java并传参_Js调用Java方法并互相传参的简单实例

    Js通过PhoneGap调用Java方法并互相传参的. 一.JAVA代码 写一个类,该类继承自Plugin并重写execute方法. import org.json.JSONArray; import ...

最新文章

  1. 数学实验matlab课后习题答案,matlab数学实验教程答案
  2. 基于数据处理的CSV格式行列变换及数据清洗
  3. ES6新特征总结与介绍——声明与表达式
  4. 跟着老桂学ASP.NET Core 2.0
  5. 各个大学的录取通知书,哪个颜值最高?
  6. 《JavaScript DOM编程艺术》笔记
  7. 【Mac】Mac 下安装MySQL优化工具mysqltuner执行报错 [!!] Attempted to use login credentials
  8. IT行业里有这么多聪明人,他们之间的区别在哪里?
  9. 折叠list ExpandableList+ BaseExpandableListAdapter 自定义 折叠列表
  10. Vue 获取验证码60s倒计时方法
  11. 关于点击锁(防止多次点击)
  12. 七年级上册数学计算机教学视频,人教版初中数学七年级上册
  13. centos7 pe系统安装_u盘pe修复系统引导u盘安装centos7 无法开机
  14. STM32学习笔记——USB鼠标
  15. 辩证法——自然观、自然科学方法论和科学观
  16. 艺多不压身 -- 目录
  17. 冒死改造好基友小黄鸭,结果出乎意料?!
  18. C语言实现,输出特殊图案,请在c环境中运行,看一看,Very Beautiful!
  19. MySQL 数据库之 MMM 高可用架构构建
  20. JavaWeb 购物车项目

热门文章

  1. Linux定时器:无节拍机制tickless(CONFIG_NO_HZ)
  2. DPDK PMD( Poll Mode Driver)轮询模式驱动程序
  3. Dell服务器与IntelX520万兆网卡兼容性问题解决过程
  4. mysql多线程导出_MySQL多线程导入导出工具Mydumper
  5. Flask的Rsponse响应对象
  6. Vue3计算属性computed
  7. 翻转单词顺序列C语言,剑指offer刷题之c、c++实现的翻转单词顺序列
  8. mybatis 原理_Mybatis大揭秘:plugin插件设计原理
  9. 是否需要配置环境变量,比如maven,jdk等
  10. Kafka(一)背景和概念