java基础加强--反射
笔记摘要: 这里主要介绍了java类中的反射技术,其主要是应用在框架中,这里通过介绍和反射相关的几个类:Constructor、Filed、Method类 来 对 它们各自 的反射方式和应用进行了说明,另外还有数组的反射,同时对HashCode和HashSet集合进行了更深层次的理解,其中的 HashSet 集合中出现的内 存泄露问题是值得我们注意的。 一、反射的基石::Class类 Java程序中的各个java类属于同一类事物,描述这类事物的java类名就是Class 1. Class类的各个实例对象: 对应各个类在内存中的字节码,例如Person类的字节码等 2. 字节码: 一个类被类加载器加载到内存中,占用一片存储空间,这个空间里面的内容就是类的字节码,不同的类的字节码是不同的,所以它们 在内存中的内容是不同的,这一 个个空间可以分别用一个个的对象来表示,这些对象显然具有相同的类型,这个类型就是Class类型 3. 获取各个字节码对应的实例对象(Class类型)的方法 1> 静态方法,类名.class, 例如System.class Class cls = Person.class ; 2> 用字节码产生的对象获取 getClass(), 例如:new Date( ).getClass 3> Class.forName("类名"); 这种方式可以不用知道原来的类名