反射的初步了解

1、反射:运行时期,获取Class对象。

2、什么是运行时期?程序在JVM(java虚拟机)上跑起来,就是运行时期,跑起来之前就是编译期。再举一个例子,Android Studio、Eclipse等工具,代码写错,它会提示你编译不通过,这就是编译期,只要代码变动,就会重新编译,编译成功是程序运行的前提条件。cmd命令做一个简单示范。



javac Test.java==>JVM正在编译java文件(Test.java编译成Test.class),你会多一个Test.class文件。

java Test==>JVM正在运行Test.class(Hello,Test!是我的打印内容)这就是运行时期

3、反射的三种方式,分情景使用

Class.forName(“l类名”):根据具体的类名得到Class类(实际上使用ClassLoader加载的类);运行时加载

this.getClass():有类的实例对象,可以调用这个方法;编译时加载

AClass.class:知道具体的类名,可以调用这个方法;编译时加载

动态代理是怎样使用反射机制的呢?


猜你喜欢

转载自blog.csdn.net/qq_29266921/article/details/78539071
今日推荐