(Java开发面试)一篇文章带你完整复习 Java 中的 反射机制

文章目录

    • 一、动态语言的概念
    • 二、反射机制的概念
    • 三、反射的应用
    • 四、Java的反射API
    • 五、反射的步骤
    • 六、创建对象的两种方式
    • 七、Method 的 invoke 方法

一、动态语言的概念

动态语言指程序在运行时可以改变其结构的语言,比如新的属性或方法的添加、删除等结构上的变化。JavaScript、Ruby、Python等都属于动态语言;C、C++不属于动态语言。从反射的角度来说,Java属于半动态语言。

二、反射机制的概念

反射机制指在程序运行过程中,对任意一个类都能获取其所有属性和方法,并且对任意一个对象都能调用其任意一个方法。这种动态获取类和对象的信息,以及动态调用对象的方法的功能被称为Java语言的反射机制。

三、反射的应用

Java中的对象有两种类型:编译时类型和运行时类型。编译时类型指在声明对象时所采用的类型,运行时类型指为对象赋值时所采用的类型。

在如下代码中,persion对象的编译时类型为Person,运行时类型为Student,因此无法在编译时获取在Student类中定义的方法:

 
 

你可能感兴趣的:(java,反射)