代码如下:
Class<?> aClass = Class.forName("com.advanced.dome.util.Car"); System.out.println(Car.class); Car car = new Car(); Class<? extends Car> aClazz = car.getClass(); System.out.println(aClass); System.out.println(aClass); System.out.println(car.getClass() == aClass);定义class对象
Car car = new Car(); Class<? extends Car> aClass = car.getClass();获取对象的全部public修饰的对象
Field[] fields = aClass.getFields(); System.out.println(Arrays.toString(fields));获取指定名称 由public修饰的对象
Field name = aClass.getField("name"); System.out.println(name);获取对象的全部对象,不考虑修饰符
Field[] declaredFields = aClass.getDeclaredFields(); System.out.println(Arrays.toString(declaredFields));通过名称获取对象不考虑修饰符
Field length = aClass.getDeclaredField("length"); System.out.println(length);为属性赋值,如果该属性为私有的则可以通过暴力破解 即定义setAccessible(true)
Field name = aClass.getField("name"); System.out.println(name); name.set(car, "ceshi"); System.out.println(car);示例代码已经上传至GitHub