首页 > 代码库 > 利用反射——查看类的成员
利用反射——查看类的成员
在一个类的内部,一般包括成员变量、构造方法、普通方法和内部类等
public class ClassViewer { @SuppressWarnings("rawtypes") public static void main(String[] args) throws ClassNotFoundException { Class<?> clazz = Class.forName("java.util.ArrayList"); System.out.println("类的标准名称:"+clazz.getCanonicalName()); //获得该类对象的所有构造方法 Constructor[] constructors = clazz.getConstructors(); System.out.println("类的构造方法:"); if (constructors.length!=0) { for (Constructor constructor : constructors) { System.out.println("\t"+constructor); } }else { System.out.println("\t空"); } //获得该类对象的所有非继承域 Field[] fields = clazz.getDeclaredFields(); System.out.println("类的非继承域变量:"); if (fields.length != 0) { for (Field field : fields) { System.out.println("\t"+field); } }else { System.out.println("\t空"); } //获得该类对象的所有非继承方法 Method[] methods = clazz.getDeclaredMethods(); System.out.println("类的非继承方法:"); if (methods.length != 0) { for (Method method : methods) { System.out.println("\t"+method); } }else { System.out.println("\t空"); } } }
输出结果如下:
类的标准名称:java.util.ArrayList 类的构造方法: public java.util.ArrayList(java.util.Collection) public java.util.ArrayList() public java.util.ArrayList(int) 类的非继承域变量: private static final long java.util.ArrayList.serialVersionUID private static final int java.util.ArrayList.DEFAULT_CAPACITY private static final java.lang.Object[] java.util.ArrayList.EMPTY_ELEMENTDATA private transient java.lang.Object[] java.util.ArrayList.elementData private int java.util.ArrayList.size private static final int java.util.ArrayList.MAX_ARRAY_SIZE 类的非继承方法: public void java.util.ArrayList.add(int,java.lang.Object) public boolean java.util.ArrayList.add(java.lang.Object) public java.lang.Object java.util.ArrayList.remove(int) public boolean java.util.ArrayList.remove(java.lang.Object) public java.lang.Object java.util.ArrayList.get(int) public java.lang.Object java.util.ArrayList.clone() public int java.util.ArrayList.indexOf(java.lang.Object) public void java.util.ArrayList.clear() public boolean java.util.ArrayList.contains(java.lang.Object) public boolean java.util.ArrayList.isEmpty() public int java.util.ArrayList.lastIndexOf(java.lang.Object) public int java.util.ArrayList.size() public java.util.List java.util.ArrayList.subList(int,int) public java.lang.Object[] java.util.ArrayList.toArray() public java.lang.Object[] java.util.ArrayList.toArray(java.lang.Object[]) static int java.util.ArrayList.access$100(java.util.ArrayList) static java.lang.Object[] java.util.ArrayList.access$200(java.util.ArrayList) public boolean java.util.ArrayList.addAll(java.util.Collection) public boolean java.util.ArrayList.addAll(int,java.util.Collection) public java.util.Iterator java.util.ArrayList.iterator() private void java.util.ArrayList.readObject(java.io.ObjectInputStream) throws java.io.IOException,java.lang.ClassNotFoundException private void java.util.ArrayList.writeObject(java.io.ObjectOutputStream) throws java.io.IOException public java.lang.Object java.util.ArrayList.set(int,java.lang.Object) public void java.util.ArrayList.ensureCapacity(int) public void java.util.ArrayList.trimToSize() private void java.util.ArrayList.ensureCapacityInternal(int) java.lang.Object java.util.ArrayList.elementData(int) private void java.util.ArrayList.grow(int) private static int java.util.ArrayList.hugeCapacity(int) public java.util.ListIterator java.util.ArrayList.listIterator(int) public java.util.ListIterator java.util.ArrayList.listIterator() public boolean java.util.ArrayList.removeAll(java.util.Collection) protected void java.util.ArrayList.removeRange(int,int) public boolean java.util.ArrayList.retainAll(java.util.Collection) private java.lang.String java.util.ArrayList.outOfBoundsMsg(int) private void java.util.ArrayList.rangeCheckForAdd(int) private boolean java.util.ArrayList.batchRemove(java.util.Collection,boolean) private void java.util.ArrayList.ensureExplicitCapacity(int) private void java.util.ArrayList.fastRemove(int) private void java.util.ArrayList.rangeCheck(int) static void java.util.ArrayList.subListRangeCheck(int,int,int)
本文出自 “IT菜鸟” 博客,请务必保留此出处http://mazongfei.blog.51cto.com/3174958/1908119
利用反射——查看类的成员
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。