博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
非常easy的JAVA反射教程
阅读量:6544 次
发布时间:2019-06-24

本文共 698 字,大约阅读时间需要 2 分钟。

原创文章,转载请注明。

        反射能够动态载入类,实例化对象,调用方法。如今以下面样例解说。

        一。载入类。

               Class clazz = Class.forName("java.lang.String"); //此句代码得到一个String类的类对象。

參数填包名。

               若通过URLClassLoader 。能够载入本地或远程的jar包。而且通过loadclass方法得到详细的类对象。

        二,实例化对象。

               假设通过默认构造函数来实例化对象,我们可用类对象的例如以下方法得到一个对象,如

               clazz..newInstance();

               假设通过带參数的构造函数来实例化对象,则能够通过例如以下代码达成:

               Constructor<?

> myConstructor = myClass.getConstructor(parameterTypes);//得到一个构造器对象。

               当中parameterTypes 为 Class<?

>... parameterTypes。比如 String.class,int.class等等。接着通过构造器对象得到实例化对象:

               myConstructor.newInstance("xxx",123);构造器内填入详细的构造參数。

         三。调用方法。

              Method mezod = clazz.getMethod(methodName, parameterTypes);能够得到方法类的对象,然后我们能够通过mezod的invoke方法运行方法。

              mezod.invoke(obj,"xxx",123);//第一个參数为此方法的发起对象,若填null则说明调用的是静态static方法。

你可能感兴趣的文章
作业第六次
查看>>
python 之 GIL
查看>>
构建之法 第一章 概论
查看>>
Hadoop编译安装
查看>>
安装 GNU gcc 编译器、g++ 编译器、make 和 gdb (CYGWIN)
查看>>
汇编字符串拷贝
查看>>
Lambda的前世今生
查看>>
黑马程序员-张老师基础加强3-内省
查看>>
TCP/IP模型简介和/etc/hosts文件说明
查看>>
UIButton常用属性
查看>>
主键自增归0
查看>>
杨辉三角
查看>>
mysql之 [ERROR] InnoDB: Unable to lock ./ibdata1, error: 11
查看>>
如何批量修改文件后缀的方法
查看>>
Effective STL 笔记
查看>>
[LeetCode] 1. Two Sum
查看>>
超时时间已到。在操作完成之前超时时间已过或服务器未响应。 (.Net SqlClient Data Provider)(转)...
查看>>
POJ2538 ZOJ1884 UVA10082 WERTYU【输入输出】
查看>>
HDU5620 KK's Steel(C++语言版)
查看>>
旋转卡壳
查看>>