------------恢复内容开始------------
| |目录
1反射机制是什么?
2反射机制能做什么?
3反射机制的相关API
1反射机制是什么
反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
2反射机制能做什么
反射机制主要提供了以下功能:
在运行时判断任意一个对象所属的类;
在运行时构造任意一个类的对象;
在运行时判断任意一个类所具有的成员变量和方法;
在运行时调用任意一个对象的方法;
生成动态代理。
3反射机制的相关API
通过一个对象获得完整的包名和类名
Java | 复制
package net.xsoftlab.baike;
public class TestReflect {
public static void main(String[] args) throws Exception {
TestReflect testReflect = new TestReflect();
System.out.println(testReflect.getClass().getName());
// 结果 net.xsoftlab.baike.TestReflect
}
}
实例化Class类对象
package net.xsoftlab.baike;
public class TestReflect {
public static void main(String[] args) throws Exception {
Class class1 = null;
Class class2 = null;
Class class3 = null;
// 一般采用这种形式
class1 = Class.forName("net.xsoftlab.baike.TestReflect");
class2 = new TestReflect().getClass();
class3 = TestReflect.class;
System.out.println("类名称 " + class1.getName());
System.out.println("类名称 " + class2.getName());
System.out.println("类名称 " + class3.getName());
}
}
获取一个对象的父类与实现的接口
package net.xsoftlab.baike;
import java.io.Serializable;
public class TestReflect implements Serializable {
private static final long serialVersionUID = -2862585049955236662L;
public static void main(String[] args) throws Exception {
Class clazz = Class.forName("net.xsoftlab.baike.TestReflect");
// 取得父类
Class parentClass = clazz.getSuperclass();
System.out.println("clazz的父类为:" + parentClass.getName());
// clazz的父类为: java.lang.Object
// 获取所有的接口
Class intes[] = clazz.getInterfaces();
System.out.println("clazz实现的接口有:");
for (int i = 0; i < intes.length; i++) {
System.out.println((i + 1) + ":" + intes[i].getName());
}
// clazz实现的接口有:
// 1:java.io.Serializable
}
}
心得:今天就学习了一下Java反射概念 上面是上网查的!通过上网查东西 让我明白了很多 原来预习很重要!
今天也不只学习了Java反射 还学到了很多思想!在我看来 思想很重要 思想相当于态度!由此可见 思想是多么重要!
一个人对社会的价值首先取决于他的感情思想和行动对增进人类利益有多大的作用—— 爱因斯坦
好思想可对社会有很大作用
做一件事也要看决心!
我已选择了一条路,将要终身实行。我要继续我的事业,任何事都不能加以阻挡—— 伊曼努尔·康德
我既然选择了Java 我就会尽力去学!不管学到好不好 也不会后悔!像伊曼努尔·康德所说 选择了就要对他负责 任何事任何人都不能阻挡!
加油!少年!
------------恢复内容结束------------