反射
qq_42731393
这个作者很懒,什么都没留下…
展开
-
反射07通过注解创建对象
/* 要求:通过注解来导入配置文件 */ @Pro(className = "cn.icast.day23.Reflection.Demo01",methodName = "show")//想要执行的方法的名称 public class Frame02 { public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException, NoSu原创 2021-02-17 13:56:12 · 158 阅读 · 0 评论 -
反射06读取配置文件来创建对象
* 案例: * 需求:写一个"框架",不能改变该类的任何代码的前提下,可以帮我们创建任意类的对象,并且执行其中任意方法 * 实现: 1. 配置文件 2. 反射 *//* 步骤: 1. 将需要创建的对象的全类名和需要执行的方法定义在配置文件中 2. 在程序中加载读取配置文件 3. 使用反射技术来加载类文件进内存 4. 创建对象 5. 执行方法*/ public class Frame { p原创 2021-02-17 13:54:16 · 202 阅读 · 0 评论 -
反射05
/* 使用步骤: 1。获取构造方法对象 根据有参或者无参可分为两种情况 2.根据构造器创建对象的方法:调用newInstance 方法 */ public class DemoConstractor { public static void main(String[] args) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {原创 2021-02-17 13:17:16 · 80 阅读 · 0 评论 -
反射04
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; /* * Method:方法对象 * 执行方法: * Object invoke(Object obj, Object... args) * 获取方法名称: * String getName:获取方法名 */ public class DemoMethod { public static void main(Str.原创 2021-02-17 13:15:25 · 59 阅读 · 0 评论 -
反射03
/* 成员变量的相关方法 Field:成员变量 * 操作: 1. 设置值 * void set(Object obj, Object value) 2. 获取值 * get(Object obj) 3. 忽略访问权限修饰符的安全检查 * setAccessible(true):暴力反射 */ public class DemoFiled { public static void main(String[] args) throws NoSuchF原创 2021-02-17 13:11:59 · 61 阅读 · 0 评论 -
反射02
java程序在计算机中的三个阶段 源代码阶段 class类对象 运行时阶段 java源代码写完 ,编译器将源代码编译成class文件 类加载器将类按照成员变量成员方法 进行封装 成对象加载到内存中,这就是class类对象阶段 创建对象就进入到了运行时期 /* java反射概述: 01.反射是框架设计的灵魂 02.java程序执行的三个阶段: 001.源代码阶段:编写代码,编译成字节码文件 即class文件 002.class对象阶段:类加载器把字节码按照成员变量,成员方法,构造方法封装成class对象,由此原创 2021-02-17 13:08:39 · 72 阅读 · 0 评论 -
反射概述
Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,(例如通过配置文件或者注解创建任意的对象) 可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。(对象可以获取class类对象进而访问成员方法和成员变量) 这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。反射被视为动态语言的关键。 使用反射的好处 首先,反射机制极大的提高了程序的灵活性和扩展性,降低模块的耦合性,提高自身的适应能力。 其次,通过反射原创 2021-02-17 11:51:52 · 70 阅读 · 0 评论