44 for (Field f : fields) {
45 Class type = f.getType();
46 String name = f.getName();
47 System.out.print(" ");
48 String modifiers = Modifier.toString(f.getModifiers());
49 if (modifiers.length() > 0)
50 System.out.print(modifiers + " ");
51 System.out.println(type.getName() + " " + name + ";");
52 }
53 }
54
55 public static void main(String args[]) {
56 String name = "java.lang.Double";
57 try {
58 Class c1 = Class.forName(name);
59 Class superc1 = c1.getSuperclass();
60 String modifier = Modifier.toString(c1.getModifiers());
61 if (modifier.length() > 0)
62 System.out.print(modifier + " ");
63
64 System.out.print("class " + name);
65 if (superc1 != null && superc1 != Object.class)
66 System.out.print(" extends " + superc1.getName());
67
68 System.out.print("\n{\n");
69 printConstructors(c1);
70 System.out.println();
71 printMethods(c1);
72 System.out.println();
73 printFields(c1);
74 System.out.println("}");
75 } catch (Exception e) {
76 e.printStackTrace();
77 }
78 }
79 /* 输出结果如下:
81 {
82 public java.lang.Double(java.lang.String);
83 public java.lang.Double(double);
84
85 public boolean equals(java.lang.Object);
86 public java.lang.String toString();
87 public static java.lang.String toString(double);
88 public int hashCode();
89 public static native long doubleToRawLongBits(double);
90 public static long doubleToLongBits(double);
91 public static native double longBitsToDouble(long);
92 public int compareTo(java.lang.Double);
93 public volatile int compareTo(java.lang.Object);
94 public byte byteva lue();
95 public short shortValue();
96 public int intValue();
97 public long longValue();
98 public float floatValue();
99 public double doubleva lue();
100 public static java.lang.Double valueOf(double);
101 public static java.lang.Double valueOf(java.lang.String);
102 public static java.lang.String toHexString(double);
103 public static int compare(double, double);
104 public boolean isNaN();
105 public static boolean isNaN(double);
106 public boolean isInfinite();
107 public static boolean isInfinite(double);
108 public static double parseDouble(java.lang.String);
109
110 public static final double POSITIVE_INFINITY;
111 public static final double NEGATIVE_INFINITY;
112 public static final double NaN;
113 public static final double MAX_VALUE;
114 public static final double MIN_NORMAL;
115 public static final double MIN_VALUE;