java反射技术代码

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

public static void printMethods(Class c1){

Method[] methods = c1.getDeclaredMethods();

for(Method m : methods){

Class retType = m.getReturnType();

String name = m.getName();

System.out.println(” “);

//print modifiers,return type,and method name

String modifiers = Modifier.toString(m.getModifiers());

if(modifiers.length() > 0)

System.out.print(modifiers + ” “);

System.out.print(retType.getName()+” “+name+”(”);

//print parameter types

Class[] paramTypes = m.getParameterTypes();

for(int j=0;j<paramTypes.length;j++){

if(j>0)

System.out.print(”,”);

System.out.print(paramTypes[j].getName());

}

System.out.println(”);”);

}

}

/**

* prints all fields of a class

* @param c1 a class

*/

public static void printFields(Class c1){

Field[] fields = c1.getDeclaredFields();

for(Field f : fields){

Class type = f.getType();

String name = f.getName();

System.out.print(” “);

String modifiers = Modifier.toString(f.getModifiers());

if(modifiers.length() > 0)

System.out.print(modifiers + ” “);

System.out.println(type.getName() + ” “+ name+ “;”);

}

}

}

结果

Enter class (e.g. java.util.Date):

java.lang.Double (此行为输入的值)

public final

class java.lang.Double

extends java.lang.Number

{

public java.lang.Double(java.lang.String);

public java.lang.Double(double);

public int hashCode();

public static native long doubleToRawLongBits(double);

public static long doubleToLongBits(double);

public static native double longBitsToDouble(long);

public boolean equals(java.lang.Object);

public volatile int compareTo(java.lang.Object);

public int compareTo(java.lang.Double);

public static java.lang.String toString(double);

public java.lang.String toString();

public static java.lang.String toHexString(double);

public static int compare(double,double);

public static java.lang.Double valueOf(double);

public static java.lang.Double valueOf(java.lang.String);

public static boolean isNaN(double);

public boolean isNaN();

public byte byteValue();

public double doubleValue();

public float floatValue();

public int intValue();

public boolean isInfinite();

public static boolean isInfinite(double);

public long longValue();

public short shortValue();

public static double parseDouble(java.lang.String);

public static final double POSITIVE_INFINITY;

public static final double NEGATIVE_INFINITY;

public static final double NaN;

public static final double MAX_VALUE;

public static final double MIN_NORMAL;

public static final double MIN_VALUE;

public static final int MAX_EXPONENT;

public static final int MIN_EXPONENT;

public static final int SIZE;

public static final java.lang.Class TYPE;

private final double value;

private static final long serialVersionUID;

}

[1][2]

只要笑一笑,没什么事请过不了

java反射技术代码

相关文章:

你感兴趣的文章:

标签云: