Java 什么是反射?Class类的理解!!!

反射是Java动态性的重要体现,允许在运行时获取和修改类的属性与方法。Class类是这一机制的关键,它是每个加载到内存中的类的实例,通过Class对象可以访问和操作类的信息。本文深入探讨了反射的概念和Class类的理解,揭示了Java的动态特性。
摘要由CSDN通过智能技术生成

反射概述与Class类的理解

反射的概述与理解

一般编写Java语言的代码都是静态的,也就是说代码运行的结果,在运行之前,已经被确定了;但也有少部分特例,如Random产生的随机数,在运行时才能被确定,对于这种编译时未确定,使用或称之为运行时确定的性质,称之为动态性,而反射是Java动态性的关键,反射可以让Java在运行时得到并修改任何类的属性,调用任何类方法。

一般的写代码习惯,都是知道了这个类有什么属性,什么方法,再去调用,去修改;每一个类在运行时,都是先通过javac命令都会被编译生成一个自解码文件,输出在out文件夹中以.class,再通过java.exe将其加载到内存中的,通过这个加载的.class文件,再得到这个对应的class类中的属性,方法等内容。这不就是反射吗? 就像是本来是从 原因 ==> 结果 现在可以反过来通过 结果 ==> 原因

正因为有了反射,Java语言也被称为准动态语言

Class类的理解

Class可能和class长的有点像,但两者却完全不同

class我们都知道,是一个关键字,其声名的内容称之为类;每一个类在运行之后会被javac命令先编译为.class自解码文件,之后再通过java.exe命令加载到内存中,这个被加载到内存中的类,我们称之为运行时类,这个运行时类,就是一个Class类的实例。

简单的来说就是,加载进内存的类都是Class的实例,而且每一个类只会被加载一次

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值