获取类的三种方式
//获取类信息方式一:Object.getClass() Class cP1 = p1.getClass(); Class cp2 = p2.getClass(); System.out.println(cP1==cp2);//同一块内存 //获取类信息方式二:类.class Class cP3 = Person.class; System.out.println(cP3==cP1); //获取类信息的方式三:Class的forName("哪个类");--->类名(类全名:包名+类名) //调用此方法会报:ClassNotFoundException异常 try { Class cP4 = Class.forName("com.xdl.ref.Person"); System.out.println("cP1==cP4:"+(cP1==cP4)); } catch (ClassNotFoundException e) { System.out.println("搞毛线啊,讨厌"); // e.printStackTrace(); }获取类中方法的方式
Method [] methods = mYClass.getDeclaredMethods(); for (Method method : methods) { System.out.println("方法的修饰符:"+Modifier.toString(method.getModifiers())+",方法名称:"+method.getName()); }获取类中属性的方式
Field [] fields = mYClass.getDeclaredFields(); for (Field field : fields) { System.out.println("属性的修饰符:"+Modifier.toString(field.getModifiers())+"属性名称:"+field.getName()); }