一、JAVA是动态语言吗?
一般而言,说到动态言,都是指在程序运行时允许改变程序结构或者变量类型,从这个观点看,JAVA和C++一样,都不是动态语言。
但JAVA它却有着一个非常突出的动态相关机制:反射。通过反射,Java可以于运行时加载、探知和使用编译期间完全求和的类、生成其对象实体,调用其方法或者对属性设值。所以Java算是一个半动态的语言吧。
反射的概念:
在Java中的反射机制是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;
对于任意一个对象,都能够调用它的任意一个方法;
这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制
二、动态性质
2.1、动态性质
运行时生成对象实例;
运行期间调用方法;
运行时更改属性
2.2、Java反射机制能实现的功能
在运行时判断任意一个对象所属的类
在运行时构造任意一个类的对象
在运行时判断任意怀个类所具有的方法和属性
在运行时调用任意一个对象的方法
生成动态代理