Java中支持在类的内部定义类,这种类成为内部类。内部类有些像Java中的方法,可以使用访问权限限定符修饰,可以使用static修饰等。编写程序,利用Java的反射机制来查看内部类的信息。
思路分析:
代码如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 |
import java.lang.reflect.Modifier;import java.lang.reflect.Type;public class NestedClassInformation { public
static void main(String[] args) throws
ClassNotFoundException { Class<?> cls = Class.forName("java.awt.geom.Point2D"); Class<?>[] classes = cls.getDeclaredClasses();// 获得代表内部类的Class对象组成的数组 for
(Class<?> clazz : classes) {// 遍历Class对象数组 System.out.println("类的标准名称:"
+ clazz.getCanonicalName()); System.out.println("类的修饰符:"
+ Modifier.toString(clazz.getModifiers())); Type[] interfaces = clazz.getGenericInterfaces();// 获得所有泛型接口 System.out.println("类所实现的接口:"); if
(interfaces.length != 0) {// 如果泛型接口个数不是0则输出 for
(Type type : interfaces) { System.out.println("\t"
+ type); } } else
{ System.out.println("\t"
+ "空"); } Type superClass = clazz.getGenericSuperclass();// 获得直接父类 System.out.print("类的直接继承类:"); if
(superClass != null) {// 如果直接父类不是Object就输出 System.out.println(superClass); } else
{ System.out.println("空"); } } }} |
效果如图:

原文:http://www.cnblogs.com/cysolo/p/3562011.html