对于每一个类在加载时都会有一个唯一的Class对象,Class对象中包含了所有需要动态获取的类的信息, 所以Class类是Reflection API 中的核心类 。

获取Class对象的方法?

getClass

.class

Class.forName();

ClassLoader

`
```
native:本地的
源码就到头了,再往下走:就不是java代码
```

` 对于每一个类在加载时都会有一个唯一的Class对象,Class对象中包含了所有需要动态获取的类的信息, 所以Class类是Reflection API 中的核心类 。

获取Class对象的方法?

getClass

.class

Class.forName();

ClassLoader
```
native:本地的
源码就到头了,再往下走:就不是java代码
``

在JDK中,主要由以下类来实现Java反射机制,这些类都位于java.lang.reflect包中:

Class类:代表一个类。

Field 类:代表类的成员变量(成员变量也称为类的属性)。

Method类:代表类的方法。

Modifier类:代表修饰符。

lConstructor 类:代表类的构造方法。

Array类:提供了动态创建数组,以及访问数组的元素的静态方法。



`

在JDK中,主要由以下类来实现Java反射机制,这些类都位于java.lang.reflect包中:

Class类:代表一个类。

Field 类:代表类的成员变量(成员变量也称为类的属性)。

Method类:代表类的方法。

Modifier类:代表修饰符。

lConstructor 类:代表类的构造方法。

Array类:提供了动态创建数组,以及访问数组的元素的静态方法。

代码:

package Demo2;

import java.io.File;
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Arrays;

public class Demo2 {
public static void main(String[] args) {
Student stu=new Student();
Class cs1=stu.getClass();
Field[] fields=cs1.getDeclaredFields();
System.out.println(Arrays.toString(fields));
// 通过类对象获得对象所对应的类里面的属性,通过给定的参数
try {
Field field=cs1.getDeclaredField("name");
Field[] field2=cs1.getDeclaredFields();
System.out.println("field2:"+field2);
System.out.println(Arrays.toString(field2));

// Method
try {
Method method=cs1.getMethod("test",String.class);
System.out.println("method"+method);
Method[] methods=cs1.getMethods();
System.out.println(methods);
System.out.println(Arrays.toString(methods));
System.out.println("******************");
// 4.modeofiler
int num=cs1.getModifiers();
System.out.println(num);
// 5.Construtor
Constructor con=cs1.getConstructor(String.class);
System.out.println(con);
// 6.Construtor
Constructor[] cons=cs1.getConstructors();
System.out.println(cons);
System.out.println("***********");
System.out.println(Arrays.toString(cons));
// 7



} catch (NoSuchMethodException e) {
e.printStackTrace();
}
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
}
总结:心态放平,不要生气
Posted on 2020-08-24 18:48  脸红嘛宝贝  阅读(96)  评论(0编辑  收藏  举报