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的⽰例,明天补充)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论