Java反转机制

匿名 (未验证) 提交于 2019-12-02 21:52:03

什么是反射:

Java反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性。对于任何一个对象,我们都能够对它的方法和属性进行调用。我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制。

所谓反射其实就是获取类的字节码文件,也就是.class文件,我们可以通过Class这个对象进行获取。

三种方式获取class对象的方式:

  1. 对象.getclass()
Iphone iph = new Iphone(); Class clz = iphone.getClass();

  2. 类.Class()

clz = Iphone.class;

  3. Class.forName(“包名.类名”);

clz = Class.forName(“com.lalala.Iphone”)

在以上的三种方法中:

方法1,已经创建了Iphone对象,这个时候就不需要去进行反射了,显得有点多此一举;

方法2,需要导入Iphone类的包,依赖性太强了;

方法3中的Class类继承自Object类,故可以直接使用,且实参为字符串,即使com.lalala包中的Iphone类不存在,该方法在不运行时也不会报错,所以我们一般选用方法三!

通过class对象动态创建目标对象:

此外还可以通过class对象查看目标类有哪些方法和属性。

来源: https://www.cnblogs.com/churujianghudezai/p/11371148.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!