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反射特性--获取其他类实例并调用其方法的更多相关文章
- JAVA中获取文件MD5值的四种方法
		JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ... 
- 反射的应用、获取Class类实例
		*准备工作: 包结构:* ======================= Person.java代码: package com.atguigu.java; public class Person { ... 
- Java如何获取当前类路径
		1.如何获得当前文件路径 常用: (1).Test.class.getResource("") 得到的是当前类FileTest.class文件的URI目录.不包括自己! (2).T ... 
- java 获取实体类对象属性值的方法
		在java中我们要获得实体类对象的属性,一般情况是将实体类中的属性私有化,然后再对外提供get()与set()方法,然后再获取实体类对象的属性的时候先把对象new出来,再用变量名.get()的方法得到 ... 
- asp.net动态加载程序集创建指定类的实例及调用指定方法
		以下类中有三个方法: LoadAssembly:加载指定路径的程序集 GetInstance:根据Type动态获取实例,用泛型接到返回的类型 ExecuteMothod:执行实例中的指定方法 /// ... 
- java中获取路径的几种基本的方法
		package com.ygh.blog.realpath; import java.io.File; import java.io.IOException; import java.io.Input ... 
- java中获取文件或文件夹的路径方法
		获取当前类的所在工程路径; 如果不加"/" File f = new File(this.getClass().getResource("").getPath( ... 
- java新手笔记11 类的静态属性、方法(单例)
		1.Person类 package com.yfs.javase; public class Person { String name;//每个对象上分配 与对象绑定 int age; char se ... 
- Java基础之Scanner类中next()与nextLine()方法的区别
		java中使用Scanner类实现数据输入十分简单方便,Scanner类中next()与nextLine()都可以实现字符串String的获取,所以我们会纠结二者之间的区别. 其实next()与nex ... 
随机推荐
- Concurrency in csharp (Asynchronous, Parallel, and Multithreaded Programming)
			http://stephencleary.com/projects/ /// <summary> /// /// </summary> public partial class ... 
- css中定位
			一切皆为框div.h1或p元素尝尝被称为块级元素.这意味着这些元素显示为一块内容,即“块框”.与之相反,span和strong等元素称为“称为”行内元素“,这是因为他们的内容显示在行中,即”行内框“. ... 
- junit4 assert类中的assert方法总结
			junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类. 1.assertTrue/False([String message,]boolean cond ... 
- 关于依赖注入IOC/DI的感想
			之前一直不明白依赖注入有什么好处,甚至觉得它是鸡肋,现在想想,当时真是可笑. 这个想法正如同说接口是没有用处一样. 当整个项目非常庞大,各个方法之间的调用非常复杂,那么,可以想象一下,假设说没有任何的 ... 
- 利用伪类:before&&:after实现图标库图标
			一.实现如下效果 二.代码实现思路 图案一源码 <!DOCTYPE html> <html> <head> <meta charset="utf-8 ... 
- css水平垂直居中(绝对定位居中)
			使用绝对定位有个限制就是父集必须设置一个固定的高度. 首先HTML <div id="box"> <div class="child"> ... 
- String类型的属性和方法
			× 目录 [1]属性 [2]对象通用方法 [3]访问字符方法[4]字符串拼接[5]创建子串方法[6]大小写转换[7]查找子串位置[8]正则匹配方法[9]去除首尾空格[10]字符串比较 前面的话 前面已 ... 
- 初识JQuery
			轻量级的js库 兼容各种浏览器+css3 传统:js+DHTM jq:解放了客户端的编程, 环境搭建 进入官方网站获取最新的版本 http://jquery.com/download/ ,这里需 ... 
- hyper-v上的虚拟机安装linux LC后CDROM无法使用
			This issue occurs because the Hyper-V Linux Integration Services unloads the ata_piix driver in orde ... 
- php 与 java 生成时间戳的区别
			最近服务器有java却换到php环境,生成的时间戳转换成时间格式的出现异常,查询资料得知: PHP 的 time() 函数返回的结果是 Unix 时间戳,值的单位是秒:如:1463564861 Jav ... 
