java反射机制的实质,以及泛型的实质,还有对象动态生成以及避开编译过程生成对象的好处。对于反射机制来说,java提供了很多满足以前实现不了的方法。动态生成对象,巧妙地避开了java文件编译的错误。我记得JDBC连接数据库的时候获取驱动对象就是这样的。Class.forName();
1 回答
已采纳
AJohnson
TA贡献10条经验 获得超8个赞
Java反射机制实质是主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。(说白了就是一个人从家出门走在大街上观察自己的形象是否良好,如果领带歪了用手整整领带,皮鞋脏了,拿纸蹲下把皮鞋擦干净,那个人可以检查自己本身的状态是否最得体,不得体就修改自身变得得体)
java 的泛型,只是编译时作为类型检查,一旦编译完成,泛型就会被擦除,在运行期间是得不到泛型的信息的,包括它的类型参数。有时候我们需要用到泛型的类型参数,反射看起来是取不到的,因反射在运行期间执行,但那时已无泛型的信息。(说白了就是你上台表演节目幕布拉开前你还在找棍子类型的道具(而不是球类的道具也不是方块类的,是棍子类型的道具),找道具这个行为就是编译检查泛型的过程,准确找到棍子类的道具,幕布拉开你上台了,观众是不会知道你有找道具这个过程,也就是你表演的时候,找道具这个过程已经消失。)
动态创建对象是在运行时完成的,而静态是在编译时完成的,动态创建的对象所占的内存可以回收,而静态不可以。
(说白了就是动态的比静态高级,运行时创建对象就绕过了编译器的检查,在运行过程中创建对象,觉得自己特别屌,用完还可以消失。)
添加回答
举报
0/150
提交
取消