脚本宝典收集整理的这篇文章主要介绍了反射(2),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
package com.reflection;/** * 测试Class类的创建方式有哪些 * @author 长空扯淡 */ public class Test02 { public static void main(String[] args) throws ClassNotFoundException { Person person = new Student(); System.out.println(person.name); //方式一:通过对象获得 Class c1 = person.getClass(); System.out.println(c1.hashCode()); //方式二:forName获得 Class c2 = Class.forName("com.reflection.Student"); System.out.println(c2.hashCode()); //方式三:通过类名.class获得 Class<Student> c3 = Student.class; System.out.println(c3.hashCode()); //方式四:基本内置类型的包装类都有一个Type属性 Class c4 = Integer.TYPE; System.out.println(c4); //获得父类类型 Class c5 = c1.getSuperclass(); System.out.println(c5); } } class Person{ public String name; public Person(){} public Person(String name) { this.name = name; } @Override public String toString() { return "Person{" + "name='" + name + ''' + '}'; } } class Student extends Person{ public Student(){ this.name = "学生"; } } class Teacher extends Person{ public Teacher(){ this.name = "老师"; } }
package com.reflection; import java.lang.annotation.ElementType; //所有类型的class public class Test03 { public static void main(String[] args) { Class c1 = Object.class; //类 Class c2 = Comparable.class; //接口 Class c3 = String[].class; //一维数组 Class c4 = int[][].class; //二维数组 Class c5 = Override.class; //注解 Class c6 = ElementType.class; //枚举 Class c7 = Integer.class; //基本数据类型 Class c8 = void.class; //void Class c9 = Class.class; //Class //只要元素类型与维度一样,就是同一个Class int[] a = new int[10]; int [] b = new int[100]; System.out.println(a.getClass().hashCode()); System.out.println(b.getClass().hashCode()); } }
以上是脚本宝典为你收集整理的反射(2)全部内容,希望文章能够帮你解决反射(2)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。