反射是Java被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。
优点:可以实现动态创建对象编程,体现出很大的灵活性
缺点:对性能有影响。使用反射基本上是一种解释操作,我们可以JVM,我们希望做什么并且他满足我们的要求。这类操作总是慢于直接执行相同的操作
// 什么叫反射
public class Test02 {
public static void main(String[] args) throws classNotFoundException {
//通过反射获取类的class对象
class c1 = class.forName ( "com.kuang.reflection.User");
system.out.println(c1);
class c2 = class.forName ( "com.kuang.reflection.User") ;
class c3 = class.forName ( "com.kuang.reflection.User" ) ;
class c4 = class.forName ( "com.kuang.reflection.User"') ;
//一个类在内存中只有一个class对象—个类被加载后,关的整个结构都会被封装在Class对象中
system.out.println(c2.hashcode( ) );
system.out.println( c3.hashc