text: (window.webpackJsonp=window.webpackJsonp||[]).push([[147],{362:function(a,t,s){"use strict";s.r(t);var e=s(2),v=Object(e.a)({},(function(){var a=this,t=a.$createElement,s=a._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[s("h1",{attrs:{id:"说说反射的用途及实现"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#说说反射的用途及实现"}},[a._v("#")]),a._v(" 说说反射的用途及实现")]),a._v(" "),s("h2",{attrs:{id:"反射的用途"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#反射的用途"}},[a._v("#")]),a._v(" 反射的用途")]),a._v(" "),s("p",[a._v("Java 反射机制是一个非常强大的功能，在很多的项目比如 Spring，MyBatis 都都可以看到反射的身影。通过反射机制，我们可以在运行期间获取对象的类型信息。利用这一点我们可以实现工厂模式和代理模式等设计模式，同时也可以解决 Java 泛型擦除等令人苦恼的问题。")]),a._v(" "),s("h2",{attrs:{id:"反射的实现"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#反射的实现"}},[a._v("#")]),a._v(" 反射的实现")]),a._v(" "),s("p",[a._v("获取一个对象对应的反射类，在 Java 中有下列方法可以获取一个对象的反射类")]),a._v(" "),s("ol",[s("li",[a._v("通过 "),s("code",[a._v("getClass()")]),a._v(" 方法")]),a._v(" "),s("li",[a._v("通过 "),s("code",[a._v("Class.forName()")]),a._v("方法")]),a._v(" "),s("li",[a._v("使用 "),s("code",[a._v("类.class")])]),a._v(" "),s("li",[a._v("通过类加载器实现，"),s("code",[a._v("getClassLoader()")])])])])}),[],!1,null,null,null);t.default=v.exports}}]);