.什么叫做反射:反射是一种机制,基于一个类的.class字节码文件,创建这个类的对象的技术。
关于.class文件:
一、java有编译、运行两个阶段。在编译的后,被编译.java文件可以编译出一个.class文件。
class HelloJava{
public static void main(String[] args){
}
}
二、这个.class是一个字节码文件,我个人理解为:这一个描述了对应.java文件相关结构的表述文件。如果把.java文件看做一个人,.class文件则描述了这个人的结构(身高,体重,性别……)。
2.传统的创建对象形式很简单:
[java] view plain copy
<code class="language-java"> //假设我们已经拥有一个Person类,通过new Person()方式可以创建一个新的Person对象。</code>
Person p=new Person();
而通过反射机制创建对象有如下几个步骤:
(1)得到类类型
三种方式:
Class clazz = Person.class
-------------------------
Class clazz=p.getClass();
-----------------------------
Class clazz=Class.forName("Person类的完整路径");
(2)根据类类型创建对象
Person p=(Person)clazz.newInstance();
3.静态加载和动态加载
(1)使用 new Object()的方式创建对象也叫做静态加载。
(2)使用反射机制创建对象叫做动态加载。
---------------------
作者:qq6677174
来源:优快云
原文:https://blog.youkuaiyun.com/qq6677174/article/details/78139513
版权声明:本文为博主原创文章,转载请附上博文链接!