非常easy的JAVA反射教程
原创文章,转载请注明。
反射能够动态载入类,实例化对象,调用方法。如今以下面样例解说。
一。载入类。
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方法。
相关文章
- Java反射机制详解(3) -java的反射和代理实现IOC模式 模拟spring
- Linux 之安装Java教程
- java安全编码指南之:拒绝Denial of Service
- java安装1.8和1.7,报错:Error: Registry key 'SoftwareJavaSoftJava Runtime Environment'CurrentVers
- Java NIO系列教程(八) SocketChannel
- Java Date Time 教程-java.sql.Timestamp
- Java exercise
- 第二十八节:Java基础-进阶继承,抽象类,接口
- 第七节:详细讲解Java中的日期,java.util.date
- java提取字符串数字,Java获取字符串中的数字
- java.lang.OutOfMemoryError: Java heap space
- Android Reports comments that contain Java code. Usually code that is commented out
- 分析轮子(九)- Cloneable.java
- 『Java练习生的自我修养』java-se进阶³ • 线程的等待与唤醒
- android开发教程(八)——环境搭建之java-ndk
- 【JAVA】Exception in thread "main" java.lang.NoClassDefFoundError
- Java泛型与类型擦除
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- 【深入JAVA】java注解
- 简单的JAVA MVC框架模式--Java-servlet-JavaBean
- Mybatis中Date类型筛选查询报错:invalid comparison: java.time.LocalDateTime and java.lang.String
- Java基础知识(面试问题1)