首页 > 代码库 > Java反射特性--获取其他类实例并调用其方法
Java反射特性--获取其他类实例并调用其方法
1. 代码结构
.
├── com
│ └── test
│ └── MyTest.java
└── MainCall.java
2. 代码内容
MyTest.java:
package com.test;public class MyTest{ public void do_test() { System.out.println("Doing test...\n"); }}
MaiCall.java
import java.lang.reflect.Method;public class MainCall{ public static void main(String[] args) { System.out.println("Hello World!\n"); Class<?> mt = null; try{ mt = Class.forName("com.test.MyTest"); }catch(Exception e) { e.printStackTrace(); } System.out.println("ClassName: " + mt.getName()); try{ Method method = mt.getMethod("do_test"); method.invoke(mt.newInstance()); }catch (Exception e) { e.printStackTrace(); } }}
3.编译
javac com/test/MyTest.java
javac MainCall.java
编译成功后:
.
├── com
│ └── test
│ ├── MyTest.class
│ └── MyTest.java
├── MainCall.class
└── MainCall.java
4. 执行
java MainCall得到输出:
Hello World!
ClassName: com.test.MyTest
Doing test...
Java反射特性--获取其他类实例并调用其方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。