学习

Java反射

Java反射机制

是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意属性和方法,这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制
作用:
1.利用反射调用它类中的属性和方法时,无视修饰符
2.不修改代码的前提下实现通用逻辑:动态加载(文件、传参等),加载之后调用;加载的内容不同,调用也就不同了而变的很通用
应用场景:
Java反射

反射中相关类体系

一个类的基本组成:(java源文件/class文件)、构造方法 、成员变量、成员方法
Java面向对象思想:万物皆对象
对应的反射的类的体系中:
Class对象:对应class文件
构造器对象:封装构造方法的对象
成员变量对象:封装成员变量 对象
成员方法对象:封装成员方法的对象
Java反射
注意点:
1.class和Class不同
a.class是字节码文件的后缀;也是java中的一个关键字,用于声明一个类
b.Class表示是是一个具体的类,可以创建该类的对象;对象里面包含了对某个类的所有描述(成员)
2.为什么我们要首先获取这个Class对象
a.想使用反射调用类的任意成员和方法,想让编写的代码更通用(反射的两个作用),肯定不能写死。 new Student() 或者 stu.study();而是要换种方式创建对象和调用方法等。
b.创建对象要用构造方法,调用方法要知道方法的一些参数,class文件中包含了这些所有信息,class文件加载到内存之后变成了Class对象,如果我们能获取到该对象,自然也能创建类的对象,调用其方法等等

GL
GL 一个酷爱健身,热爱编程de爱国的小青年

发表评论