Java的反射机制(1)-反射功能的基本介绍
来源:互联网 发布:ps3模拟器og数据损坏 编辑:程序博客网 时间:2024/06/03 14:19
参考网址:
http://my.oschina.net/u/1407116/blog/209417
http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html
在此之前需了解的背景知识:
Class类:
Class的实例表示正在运行的类和接口,基本的数据类型(boolean, byte, char, short, int, long, float, double)以及void也比表示Class对象。
Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的。(不能直接new出来)
重要方法:
newInstance():创建此Class对象所表示的类的一个对象并返回。只能使用在默认的构造方法中。一定要自己定义无参的构造函数。
getName():以String的形式返回此Class对象所表示的实体(类、接口、数组类、基本类型或void)名称。
forName():返回与带有给定字符串名的类或接口相关联的Class对象,Class的静态方法。
代码:
//直接将People类赋值Class<?> demo1 = People.class;//调用Class的静态方法forName,返回一个People,即Class的对象Class<?> demo2 = Class.forName("www.baidu.com.People");//通过实例的getClass()方法获取类,赋值给ClassPeople people = new People();Class<?> demo3 = people.getClass();People mPeople = null;mPeople = (People)demo1.newInstance();Class<People> demo4 = People.class;People people2 = null;people2 = demo4.newInstance();
//demo4中应用了泛型。
这边比较乱,画了个图:
反射机制:
Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。
反射使用:
Method是反射最基本的一个类。
getMethod(String name, Class<T>…parameterTypes):返回一个Method对象,它反映此Class对象所表示的类或接口的指定公共成员方法。
invoke(Object obj, Object… agrs):对带有指定参数的指定对象调用由此 Method 对象表示的底层方法。
代码:
Method method[] = demo4.getMethods(); System.out.println(method[0]); System.out.println(method[1]);输出: public java.lang.String www.baidu.com.People.getAge() public void www.baidu.com.People.setAge(java.lang.String)Method myMethod = demo4.getMethod("sayHi");myMethod.invoke(demo4.newInstance());输出:HelloWorld!
0 0
- Java的反射机制(1)-反射功能的基本介绍
- 学习笔记——JAVA反射<1>反射机制的介绍和基本操作
- Java反射机制——反射的介绍(一)
- Java反射机制之方法反射的基本操作
- Java反射机制:方法反射的基本操作
- Java反射机制中,基本的API
- 反射机制的基本用法--java
- java反射机制的基本用法
- java反射机制的基本用法
- java的反射机制1
- java的反射机制
- Java的反射机制
- Java的反射机制
- Java 的反射机制
- JAVA的反射机制
- Java 的反射机制
- java的反射机制
- Java的反射机制
- Android编译器优化导致的奇怪问题
- 为bootstrap添加更多自定义图标
- 《Effective Java》阅读笔记(二)
- java图片转二进制
- 移植RT3070AP过程
- Java的反射机制(1)-反射功能的基本介绍
- PHP根据访问ip获取所在城市的信息
- strchr函数
- NavigationController 返回箭头的颜色
- poj3613题解
- Linux学习笔记(二)
- sqlite3使用简介
- PageRank算法原理详解
- 事件的记忆碎片(转自八神吻你)