Java反射机制由哪些类实现?
运⾏环境:
  JDK8 + IntelliJ IDEA 2018.3
源码:
package com.ChenJiangT.Demo2;
import flect.Constructor;
import flect.Field;
import flect.Method;
import java.util.Arrays;
public class Demo2 {
public static void main(String[] args) {
/
* Field 类:代表类的成员变量(成员变量也称为类的属性)。
Method类:代表类的⽅法。
Modifier类:代表修饰符。
Constructor 类:代表类的构造⽅法。*/
Student student = new Student();
Class Class();
Field cla1=null;
try {
DeclaredField("name");
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
System.out.println(cla1);
Field[] DeclaredFields();
System.out.String(cla2));
System.out.println("********************************************************************************************");
//Method类:
Method clazMe=null;
try {
Method("aa",String.class);//查⽅法名是getName 并且c
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
System.out.println(clazMe);
Method[] Methods(); //查此类的所有公共的⽅法包含⽗类的继承来的⽅法
System.out.String(clazMe2));
Method[] clazMe4 = DeclaredMethods();//查此类的所有的⽅法不包含⽗类的继承来的⽅法
System.out.String(clazMe4));
System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
//Modifier类  getModifiers
int Modifiers();
System.out.println(claMod);
//Constructor 类:代表类的构造⽅法  getConstructor  getConstructors  getDeclaredConstructors
Constructor claCon1=null;
try {
claCon1 = Constructor(String.class);//查参数是String 的构造⽅法
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
System.out.println(claCon1);
Constructor[] claCon2 = Constructors();//查此类的所有的构造⽅法
System.out.String(claCon2));
Constructor[] claCon3 = DeclaredConstructors();//查此类的所有的声明的构造⽅法
System.out.String(claCon3));
}
}
效果图:
总结:
java反射获取父类属性    在JDK中,主要由以下类来实现Java反射机制,这些类都位于flect包中:
      1).Class类:代表⼀个类。
      2).Field 类:代表类的成员变量(成员变量也称为类的属性)。
      3).Method类:代表类的⽅法。
      4).Modifier类:代表修饰符。
      5).lConstructor 类:代表类的构造⽅法。
      6).Array类:提供了动态创建数组,以及访问数组的元素的静态⽅法。(以上⽂档没有Array的⽰例,明天补充)