Class对象表示所加载的类,取得Class对象后,我们就可以愉快的取得与类相关的信息了,就像包(package,package也是类名的一部分哦~),构造方法,方法,属性等信息,而每一个信息,也会有相应的类别形态,比如包对应的是 java.lang.Package,构造方法对应的是java.lang.reflect.Constructor,成员方法对应的是 java.lang.reflect.Method,属性对应的是 java.lang.reflect.Field等。
先来个简单的例子吧,获取一下包名:
1 | package CoreJava.day_2; |
输出:
1 | java ClassInfoDemo java.util.ArrayList |
用相应的方法,我们可以分别取得 Field、Constructor、Method等对象。
下面是一个我之前写的可以获取某些类信息的一个demo:
1 | package CoreJava.day_2; |
输出:
1 | 输入类名:(例如:java.util.Date) |
输入一个类(完整的类名),即可打印该类的略为完整信息。当然还有一些不知道的,可以查看API来完成。