Class类是代表类的类,每个Class类的实例都代表了一个类。
通过一个类的Class实例,可以获取一个类的所有信息:包括成员变量、方法等。
代码实例如下:
package day14;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class TestClass {
public static void main(String... args) throws NoSuchFieldException, NoSuchMethodException {
MerchandiseV2 v = new MerchandiseV2(1,"床单",100, 50, 30);
Class clazz = v.getClass();
System.out.println(clazz.getName());
System.out.println(clazz.getSimpleName());
Field countField = clazz.getField("count");
System.out.println(countField);
Method buyMethod = clazz.getMethod("describe");
System.out.println(buyMethod);
System.out.println(buyMethod.getReturnType());
}
}
输出结果:

说明:
- 使用类的一个实例的
.class
方法获取一个Class类的对象 - 使用
Field
声明 获取到的类的成员变量。 - 使用
Method
声明 获取到的类的方法。 - 使用获取到的方法
.getReturnType()
获取方法的返回值。 -
main(String... args)
可变形参,也可以不传值。
网友评论