1、认识Java的反射机制:
在正常情况下,必须知道一个类的完整路径之后才可以实例化对象,但是在java中也允许通过一个对象找到其所在的类的信息,那么实际上就是class类的功能。
2、Object类对反射的支持
在Object类中定义了以下的方法,此方法将被所有子类继承:
·public final Class<?> getClass()
以上方法返回值的类型是一个“class”类,实际上此类是Java反射的源头,所谓反射:即可以通过对象反射求出类的名称。
3、Class类
Class本身表示一个类的本身,通过Class可以完整的得到一个类中和完整结构,包括此类中的方法定义,属性定义等等。
4、实例化Class类对象的方法有三种:
第一种:通过forname()方法
第二种:类.class
第三种:对象.getClass()
package org.zhh.getclassdemo;
class X{
}
public class GetClassDemo02{
public static void main(String args[]){
Class<?> c1 = null;//指定泛型
Class<?> c2 = null;//指定泛型
Class<?> c3 = null;//指定泛型
try{
//以下的操作形式是开发中最常用一种形式
c1 = Class.forName("org.zhh.getclassdemo.X");
}catch(ClassNotFoundException e){
e.printStackTrace();
}
c2 = new X().getClass();//通过Object类中的方法实例化
c3 = X.class;//通过类本身实例化
c3 = X.class;//通过类本身实例化
System.out.println("类名称:" + c1.getName());
System.out.println("类名称:" + c2.getName());
System.out.println("类名称:" + c3.getName());
}
}
一旦可以实例Class类之后,就可以进行反射的操作了。
有问题欢迎提问,满意请采纳,谢谢!
追问题目是:
反射实例类装载的步骤及简要阐述
对于上面的回答还是不太明白它的作用,可以第一步...第二步....第三步....这样大致讲解一下吗?
追答上面前三部分是对反射的介绍
第四部分就是反射实例化加载的说明。
三种方式,自己细心看看上面说的.
本回答被提问者和网友采纳