Java反射机制

Java反射机制允许程序在运行时动态获取类的信息并调用其方法和属性,包括私有成员。Class对象是反射的核心,由.class文件加载到内存中创建。反射提供了代码的灵活性,但也会带来性能损耗和安全风险。了解反射的优缺点有助于合理使用这一强大工具。
摘要由CSDN通过智能技术生成

Java反射介绍:
JAVA反射机制是对所有的类,都能获取到这个类的所有属性和方法。
任意一个对象都能调用它的方法和属性(包括私有的方法和属性), 这种动态获取的信息以及动态调用对象的方法的 功能就称为java语言的反射机制。通俗点讲,通过反射,该类对我们来说是完全透明的,想要获取任何 东西都可以。

Class类常用类:
在这里插入图片描述
在这里插入图片描述

Java的反射原理:
Class对象的由来是将.class文件读入内存,并为之创建一个Class对象。
当执行实例出来的对象(new getFields())会触发JVM加载里面的getFields.class文件,然后JVM从本地找到这个getFields.class文件并加载到JVM内存中,最后加载到内存后,JVM会自动创建一个getFields.class对象,一个类只能产生一个class对象。得到class对象后,获取到这个对象的所有信息

反射的优缺点:
1、优点:在运行时获得类的各种内容,进行反编译,对于Java这种先编译再运行的语言,能够让我们很方便的创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代码的链接,更加容易实现面向对象。

2、缺点:
反射会消耗一定的系统资源,因此,如果不需要动态地创建一个对象,那么就不需要用反射;

反射调用方法时可以忽略权限检查,因此可能会破坏封装性而导致安全问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值