在编程语言中我们可以将语言大体的分类成:
1.动态语言:php,python等
2.静态语言:c、c++、go等
在java语言中我们也可通过反射在java程序运行的过程中来实现一些操作;
java的 反射 依赖与类java.lang.Class类
我们使用的对象,简单来说就是用来封装表示一些数据的,最终都会被类加载器加载体现在内存中;这个类被加载的时候,JVM都会为其创建一个对应类的Class对象,这个类的结构信息都会放到对应的Class对象中。既然这些Class对象具有对应类的结构信息,我们也就可以通过Class类间接的取使用对应的类
听起来态抽象了,拆分一些流程吧
1、我们定义了一个 User 类
2、如果我们要创建一个User对象,前提是JVM要将User类 加载到JVM的内部,而在JVM内部怎么表示一个类呢,就是创建一个Class类的对象 表示该User类,所有每次我们在程序中创建一个User对象,体现在JVM中就是用对应User的那个Class对象创建...
3、我们不是JVM自然就不能直接使用对应User类的class对象了,但是Java提供了一个java.lang.Class类给我们使用,这个Class类就是一个镜子,只要我们提供User类的正确路径,使用 Class.forName(User路径) 就可以获得对应的Class对象,获取到了对象,后面的自己理解吧...
注意:上面流程并不细致,很多描述不准确,但对于理解反射够用了;还有上面有很多类和对象这两个 字,一定要理解分清楚