day08——反射
Class类:代表一个类。
Field 类:代表类的成员变量(成员变量也称为类的属性)。
Method类:代表类的方法。
Modifier类:代表修饰符。
Constructor 类:代表类的构造方法。
Array类:提供了动态创建数组,以及访问数组的元素的静态方法。
代码展示:
package demo2; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.Arrays; import java.lang.reflect.Constructor; public class demo1 { public static void main(String[] args) { student student=new student(); Class clastu= student.getClass(); Field[] fields=clastu.getDeclaredFields(); System.out.println(Arrays.toString(fields)); try { Field field=clastu.getDeclaredField("name"); System.out.println("field"+field); Field[] fields1=clastu.getDeclaredFields(); System.out.println("fields1"+fields1); System.out.println(Arrays.toString(fields1)); } catch (NoSuchFieldException e) { e.printStackTrace(); } try { Method method=clastu.getMethod("hh",String.class); System.out.println("——————————————"); System.out.println("method"+method); System.out.println("——————————————"); Method[] methods=clastu.getMethods(); System.out.println("methods"+methods); System.out.println(Arrays.toString(methods)); System.out.println("——————————————"); Method[] methods1=clastu.getMethods(); System.out.println("methods"+Arrays.toString(methods1)); int num= clastu.getModifiers(); System.out.println("num:"+num); int modifiers = clastu.getModifiers(); System.out.println(modifiers); Constructor<?>[] constructors = clastu.getConstructors(); System.out.println(constructors); Constructor<?>[] declaredConstructors = clastu.getDeclaredConstructors(); System.out.println(declaredConstructors); } catch (NoSuchMethodException e) { e.printStackTrace(); } } }
1.反射,为后面理解框架做铺垫
2.反射 Class
Method 方法
Field 属性
Constructer 构造器
Modifier 修饰符
3.这些类都是在reflect反射包中提供的,这些类有助于我们获取类以及类中的属性,方法,访问修饰符,从而让我们能够得到类相关的具体信息.