原创文章,转载请注明。

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

一。载入类。

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方法。

非常easy的JAVA反射教程的更多相关文章

  1. 超详细的java反射教程

    看技术博客时,看到关于java反射的博文,写的非常好.猛击下面的地址,开始java反射之旅 中文翻译地址:http://ifeve.com/java-reflection/ 英文原版地址:http:/ ...

  2. 转:Java反射教程

    原文来自于:http://www.importnew.com/9078.html 什么是反射?反射有什么用处? 1. 什么是反射? “反射(Reflection)能够让运行于JVM中的程序检测和修改运 ...

  3. java反射教程

    什么是反射,为什么它是有用的,以及如何使用它? 1.什么是反射? “反射通常是JVM中运行的程序需要检测和修改运行时程序的行为的一种能力.”这个概念通常与内省(Introspection)混淆.以下是 ...

  4. Java反射——引言

    Java反射——引言 原文地址:http://tutorials.jenkov.com/java-reflection/index.html *By Jakob Jenkov Java的反射机制使得它 ...

  5. 【译】1. Java反射——引言

    原文地址:http://tutorials.jenkov.com/java-reflection/index.html *By Jakob Jenkov Java的反射机制使得它可以在运行时检查类.接 ...

  6. java反射基础知识(三)

    原文地址:http://tutorials.jenkov.com/java-reflection/index.html http://www.cnblogs.com/penghongwei/p/329 ...

  7. Java注解教程:自定义注解示例,利用反射进行解析

    Java注解能够提供代码的相关信息,同时对于所注解的代码结构又没有直接影响.在这篇教程中,我们将学习Java注解,如何编写自定义注解,注解的使用,以及如何使用反射解析注解. 注解是Java 1.5引入 ...

  8. Java基础教程:反射基础

    Java基础教程:反射基础 引入反射 反射是什么 能够动态分析类能力的程序称为反射. 反射是一种很强大且复杂的机制. Class类 在程序运行期间,Java运行时系统始终为所有对象维护一个被称为运行时 ...

  9. 8千字干货教程|java反射精讲

    java反射机制精讲 目录 1. 反射机制的概念 2. 反射的基础Class类 3. 反射的用法 4. 反射的应用示例 作者简介:全栈学习笔记,一个正在努力的人 微信公众号:公众号日更,精彩美文每天推 ...

随机推荐

  1. LINQ 的查询执行何时是延迟执行,何时是立即执行,以及查询的复用

    延迟执行的经典例子: 我们用 select ++i 就可以看到在foreach 时候,查询才被执行. public static void Linq99(){    int[] numbers = n ...

  2. hexo博客出现“Cannot GET/xxxx”的错误

    最近在github上搭了一个hexo博客系统,非常轻量级的,只需要几句nodejs命令就搭建完成了.我了解了一下,hexo博客是基于nodejs写的,采用ejs模板引擎编写页面. 因为默认的主题风格不 ...

  3. DS博客作业06--图

    1.本周学习总结 1.1.思维导图 1.2.谈谈你对图结构的认识及学习体会 本章学习了图结构的相关知识,图形结构属于复杂的非线性数据结构,在实际应用中很多问题可以用图来描述.在图结构中,每个元素可以有 ...

  4. JavaScriptCore 简介

    转自http://esoftmobile.com/2013/06/19/integrating-javascript-into-native-applications/ Integrating Jav ...

  5. 【bzoj3207】花神的嘲讽计划Ⅰ Hash+STL-map+莫队算法

    题目描述 背景 花神是神,一大癖好就是嘲讽大J,举例如下: “哎你傻不傻的![hqz:大笨J]” “这道题又被J屎过了!!” “J这程序怎么跑这么快!J要逆袭了!” …… 描述 这一天DJ在给吾等众蒟 ...

  6. BZOJ3196 二逼平衡树 【线段树套平衡树】

    题目 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作: 1.查询k在区间内的排名 2.查询区间内排名为k的值 3.修改某一位值上的数值 4.查询k在区间内的前驱(前驱 ...

  7. kali2 install Nessus

    注册: https://www.tenable.com/products/nessus-home 安装: 设置登录用户名,密码,输入注册码:

  8. IPython:一种交互式计算和开发环境

    一 键盘快捷键 - Ctrl-P    或上箭头键 后向搜索命令历史中以当前输入的文本开头的命令 - Ctrl-N   或下箭头键 前向搜索命令历史中以当前输入的文本开头的命令 - Ctrl-R    ...

  9. js中的clientHeight和offsetHeight的区别如

    如图所示:

  10. poj 3532 Resistance

    ---恢复内容开始--- Resistance Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 1289   Accepte ...