java利用反射实例化类、使用类中普通方法、使用类main(静态)方法
来源:互联网 发布:sas mac版安装教程 编辑:程序博客网 时间:2024/06/05 08:19
import java.lang.reflect.*;class animal{private int value;private String str;public animal(int val, String s ){value = val;str = s;System.out.println("constructor ok..."+value+" " + s );}public void print (int val){System.out.println("method ok...val: " + val);}public static void main(String argc[]){System.out.println("main ok");}}class Person {}public class mehtodTest {public static void main(String [] argc) throws ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{Class <?> classType = Class.forName("Test1.animal");//Constructor<?> con = classType.getConstructor(Integer.TYPE, String.class);////Object obj =con.newInstance( 30, "hello");//animal anim = (animal) obj;//以上实例化可以用下面一句语句写Object obj = classType.getConstructor(int.class, String.class).newInstance(30, "hello");Method mtd = classType.getMethod("print", int.class);Object mtdPrint = mtd.invoke(obj, 15); //invoke普通方法需要实例化的类作为第一个参数Method mtd2 = classType.getMethod("main", String[].class);String[] s = null;mtd2.invoke(null, (Object)s); //invoke静态(main也是静态)方法第一个参数传null,不需要实例化/**这里直接传s数组是不对的,会出现参数个数不正确的错误,应为JDK会自动把数组元素打开 * 这样就包含的很多的元素,所以前面加个(Object)告诉编译器,这是一个对象,不要拆箱 */}}
output:
constructor ok...30 hellomethod ok...val: 15main ok
- java利用反射实例化类、使用类中普通方法、使用类main(静态)方法
- java反射类main方法
- 利用Java反射机制调用其他类的main方法
- 利用Java反射机制调用其他类的main方法 .
- Java中使用反射调用静态方法
- 使用反射调用类静态方法
- 关于Python中静态方法、实例方法、类方法、普通方法
- java基础:反射类的普通方法
- java基础:反射类的main方法
- java 之反射类的main方法
- Java类中 静态/实例 方法/变量
- python类中普通方法,类方法,静态方法
- 反射类的普通方法
- java main方法调用类的实例化方法疑问
- java使用spring在静态方法中使用注入类
- 利用反射调用指向其他类的main方法
- python中类方法、类实例方法、静态方法的使用与区别
- python中类方法、类实例方法、静态方法的使用与区别
- ckeditor+ckfinder 集成 实现上传下载(Image/Flash/File/Other) 有下载连接
- pack &unpakc
- 用GRUB安装uBuntu10.04的光盘镜像,不用解压ISO
- Tomcat Manager 密码问题
- Sybase ASE12.5数据库状态值的含义
- java利用反射实例化类、使用类中普通方法、使用类main(静态)方法
- splite
- TestRecoder For WatiN 重构与优化手记
- perl map
- java concurrent 探秘(经典的线程个数,是否完成等的控制)
- 新买的HTC G3 进入fastboot 模式
- debian6开机启动脚本的方法
- 优秀的软件企业为何倒下?
- 读书笔记 <Bootstrap Yourself with Linux USB Stack>