JAVA反射机制是在运行状态中,对于任意一个类 (class文件),都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
动态获取类中信息,就是java反射 。 可以理解为对类的解剖。 要想要对字节码文件进行解剖,必须要有字节码文件对象.
下面就是创建字节码文件对象的三种方法:
来自CODE的代码片
创建了字节码文件对象之后,就需要使用对象去做一些事情,比如获取指定名称对应类中所体现的对象,获取其中的字段和获取其中的方法
1,获取指定名称对应类中所体现的对象
来自CODE的代码片
2,获取其中的字段
来自CODE的代码片
3,获取其中的方法
来自CODE的代码片
以上代码全部来自于毕向东老师讲解的反射
动态获取类中信息,就是java反射 。 可以理解为对类的解剖。 要想要对字节码文件进行解剖,必须要有字节码文件对象.
下面就是创建字节码文件对象的三种方法:
<a target=_blank id="L1" href="http://blog.csdn.net/takeheart94/article/details/39070799#L1" rel="#L1"> 1</a> <a target=_blank id="L2" href="http://blog.csdn.net/takeheart94/article/details/39070799#L2" rel="#L2"> 2</a> <a target=_blank id="L3" href="http://blog.csdn.net/takeheart94/article/details/39070799#L3" rel="#L3"> 3</a> <a target=_blank id="L4" href="http://blog.csdn.net/takeheart94/article/details/39070799#L4" rel="#L4"> 4</a> <a target=_blank id="L5" href="http://blog.csdn.net/takeheart94/article/details/39070799#L5" rel="#L5"> 5</a> <a target=_blank id="L6" href="http://blog.csdn.net/takeheart94/article/details/39070799#L6" rel="#L6"> 6</a> <a target=_blank id="L7" href="http://blog.csdn.net/takeheart94/article/details/39070799#L7" rel="#L7"> 7</a> <a target=_blank id="L8" href="http://blog.csdn.net/takeheart94/article/details/39070799#L8" rel="#L8"> 8</a> <a target=_blank id="L9" href="http://blog.csdn.net/takeheart94/article/details/39070799#L9" rel="#L9"> 9</a> <a target=_blank id="L10" href="http://blog.csdn.net/takeheart94/article/details/39070799#L10" rel="#L10"> 10</a> <a target=_blank id="L11" href="http://blog.csdn.net/takeheart94/article/details/39070799#L11" rel="#L11"> 11</a> <a target=_blank id="L12" href="http://blog.csdn.net/takeheart94/article/details/39070799#L12" rel="#L12"> 12</a> <a target=_blank id="L13" href="http://blog.csdn.net/takeheart94/article/details/39070799#L13" rel="#L13"> 13</a> <a target=_blank id="L14" href="http://blog.csdn.net/takeheart94/article/details/39070799#L14" rel="#L14"> 14</a> <a target=_blank id="L15" href="http://blog.csdn.net/takeheart94/article/details/39070799#L15" rel="#L15"> 15</a> <a target=_blank id="L16" href="http://blog.csdn.net/takeheart94/article/details/39070799#L16" rel="#L16"> 16</a> <a target=_blank id="L17" href="http://blog.csdn.net/takeheart94/article/details/39070799#L17" rel="#L17"> 17</a> <a target=_blank id="L18" href="http://blog.csdn.net/takeheart94/article/details/39070799#L18" rel="#L18"> 18</a> <a target=_blank id="L19" href="http://blog.csdn.net/takeheart94/article/details/39070799#L19" rel="#L19"> 19</a> <a target=_blank id="L20" href="http://blog.csdn.net/takeheart94/article/details/39070799#L20" rel="#L20"> 20</a> <a target=_blank id="L21" href="http://blog.csdn.net/takeheart94/article/details/39070799#L21" rel="#L21"> 21</a> <a target=_blank id="L22" href="http://blog.csdn.net/takeheart94/article/details/39070799#L22" rel="#L22"> 22</a> <a target=_blank id="L23" href="http://blog.csdn.net/takeheart94/article/details/39070799#L23" rel="#L23"> 23</a> <a target=_blank id="L24" href="http://blog.csdn.net/takeheart94/article/details/39070799#L24" rel="#L24"> 24</a> <a target=_blank id="L25" href="http://blog.csdn.net/takeheart94/article/details/39070799#L25" rel="#L25"> 25</a> <a target=_blank id="L26" href="http://blog.csdn.net/takeheart94/article/details/39070799#L26" rel="#L26"> 26</a> <a target=_blank id="L27" href="http://blog.csdn.net/takeheart94/article/details/39070799#L27" rel="#L27"> 27</a> <a target=_blank id="L28" href="http://blog.csdn.net/takeheart94/article/details/39070799#L28" rel="#L28"> 28</a> <a target=_blank id="L29" href="http://blog.csdn.net/takeheart94/article/details/39070799#L29" rel="#L29"> 29</a> <a target=_blank id="L30" href="http://blog.csdn.net/takeheart94/article/details/39070799#L30" rel="#L30"> 30</a> <a target=_blank id="L31" href="http://blog.csdn.net/takeheart94/article/details/39070799#L31" rel="#L31"> 31</a> <a target=_blank id="L32" href="http://blog.csdn.net/takeheart94/article/details/39070799#L32" rel="#L32"> 32</a> <a target=_blank id="L33" href="http://blog.csdn.net/takeheart94/article/details/39070799#L33" rel="#L33"> 33</a> <a target=_blank id="L34" href="http://blog.csdn.net/takeheart94/article/details/39070799#L34" rel="#L34"> 34</a> <a target=_blank id="L35" href="http://blog.csdn.net/takeheart94/article/details/39070799#L35" rel="#L35"> 35</a> <a target=_blank id="L36" href="http://blog.csdn.net/takeheart94/article/details/39070799#L36" rel="#L36"> 36</a> <a target=_blank id="L37" href="http://blog.csdn.net/takeheart94/article/details/39070799#L37" rel="#L37"> 37</a> <a target=_blank id="L38" href="http://blog.csdn.net/takeheart94/article/details/39070799#L38" rel="#L38"> 38</a> <a target=_blank id="L39" href="http://blog.csdn.net/takeheart94/article/details/39070799#L39" rel="#L39"> 39</a> <a target=_blank id="L40" href="http://blog.csdn.net/takeheart94/article/details/39070799#L40" rel="#L40"> 40</a> <a target=_blank id="L41" href="http://blog.csdn.net/takeheart94/article/details/39070799#L41" rel="#L41"> 41</a> <a target=_blank id="L42" href="http://blog.csdn.net/takeheart94/article/details/39070799#L42" rel="#L42"> 42</a> <a target=_blank id="L43" href="http://blog.csdn.net/takeheart94/article/details/39070799#L43" rel="#L43"> 43</a> <a target=_blank id="L44" href="http://blog.csdn.net/takeheart94/article/details/39070799#L44" rel="#L44"> 44</a> <a target=_blank id="L45" href="http://blog.csdn.net/takeheart94/article/details/39070799#L45" rel="#L45"> 45</a> <a target=_blank id="L46" href="http://blog.csdn.net/takeheart94/article/details/39070799#L46" rel="#L46"> 46</a> <a target=_blank id="L47" href="http://blog.csdn.net/takeheart94/article/details/39070799#L47" rel="#L47"> 47</a> <a target=_blank id="L48" href="http://blog.csdn.net/takeheart94/article/details/39070799#L48" rel="#L48"> 48</a> <a target=_blank id="L49" href="http://blog.csdn.net/takeheart94/article/details/39070799#L49" rel="#L49"> 49</a> <a target=_blank id="L50" href="http://blog.csdn.net/takeheart94/article/details/39070799#L50" rel="#L50"> 50</a> <a target=_blank id="L51" href="http://blog.csdn.net/takeheart94/article/details/39070799#L51" rel="#L51"> 51</a> <a target=_blank id="L52" href="http://blog.csdn.net/takeheart94/article/details/39070799#L52" rel="#L52"> 52</a> <a target=_blank id="L53" href="http://blog.csdn.net/takeheart94/article/details/39070799#L53" rel="#L53"> 53</a> <a target=_blank id="L54" href="http://blog.csdn.net/takeheart94/article/details/39070799#L54" rel="#L54"> 54</a> <a target=_blank id="L55" href="http://blog.csdn.net/takeheart94/article/details/39070799#L55" rel="#L55"> 55</a> <a target=_blank id="L56" href="http://blog.csdn.net/takeheart94/article/details/39070799#L56" rel="#L56"> 56</a> <a target=_blank id="L57" href="http://blog.csdn.net/takeheart94/article/details/39070799#L57" rel="#L57"> 57</a> <a target=_blank id="L58" href="http://blog.csdn.net/takeheart94/article/details/39070799#L58" rel="#L58"> 58</a> <a target=_blank id="L59" href="http://blog.csdn.net/takeheart94/article/details/39070799#L59" rel="#L59"> 59</a> <a target=_blank id="L60" href="http://blog.csdn.net/takeheart94/article/details/39070799#L60" rel="#L60"> 60</a> <a target=_blank id="L61" href="http://blog.csdn.net/takeheart94/article/details/39070799#L61" rel="#L61"> 61</a> <a target=_blank id="L62" href="http://blog.csdn.net/takeheart94/article/details/39070799#L62" rel="#L62"> 62</a> <a target=_blank id="L63" href="http://blog.csdn.net/takeheart94/article/details/39070799#L63" rel="#L63"> 63</a> <a target=_blank id="L64" href="http://blog.csdn.net/takeheart94/article/details/39070799#L64" rel="#L64"> 64</a> <a target=_blank id="L65" href="http://blog.csdn.net/takeheart94/article/details/39070799#L65" rel="#L65"> 65</a> <a target=_blank id="L66" href="http://blog.csdn.net/takeheart94/article/details/39070799#L66" rel="#L66"> 66</a> <a target=_blank id="L67" href="http://blog.csdn.net/takeheart94/article/details/39070799#L67" rel="#L67"> 67</a> <a target=_blank id="L68" href="http://blog.csdn.net/takeheart94/article/details/39070799#L68" rel="#L68"> 68</a> <a target=_blank id="L69" href="http://blog.csdn.net/takeheart94/article/details/39070799#L69" rel="#L69"> 69</a> <a target=_blank id="L70" href="http://blog.csdn.net/takeheart94/article/details/39070799#L70" rel="#L70"> 70</a> <a target=_blank id="L71" href="http://blog.csdn.net/takeheart94/article/details/39070799#L71" rel="#L71"> 71</a> <a target=_blank id="L72" href="http://blog.csdn.net/takeheart94/article/details/39070799#L72" rel="#L72"> 72</a> <a target=_blank id="L73" href="http://blog.csdn.net/takeheart94/article/details/39070799#L73" rel="#L73"> 73</a> <a target=_blank id="L74" href="http://blog.csdn.net/takeheart94/article/details/39070799#L74" rel="#L74"> 74</a> <a target=_blank id="L75" href="http://blog.csdn.net/takeheart94/article/details/39070799#L75" rel="#L75"> 75</a> <a target=_blank id="L76" href="http://blog.csdn.net/takeheart94/article/details/39070799#L76" rel="#L76"> 76</a> |
|
来自CODE的代码片
ReflectDemo.java
创建了字节码文件对象之后,就需要使用对象去做一些事情,比如获取指定名称对应类中所体现的对象,获取其中的字段和获取其中的方法
1,获取指定名称对应类中所体现的对象
<a target=_blank id="L1" href="http://blog.csdn.net/takeheart94/article/details/39070799#L1" rel="#L1"> 1</a> <a target=_blank id="L2" href="http://blog.csdn.net/takeheart94/article/details/39070799#L2" rel="#L2"> 2</a> <a target=_blank id="L3" href="http://blog.csdn.net/takeheart94/article/details/39070799#L3" rel="#L3"> 3</a> <a target=_blank id="L4" href="http://blog.csdn.net/takeheart94/article/details/39070799#L4" rel="#L4"> 4</a> <a target=_blank id="L5" href="http://blog.csdn.net/takeheart94/article/details/39070799#L5" rel="#L5"> 5</a> <a target=_blank id="L6" href="http://blog.csdn.net/takeheart94/article/details/39070799#L6" rel="#L6"> 6</a> <a target=_blank id="L7" href="http://blog.csdn.net/takeheart94/article/details/39070799#L7" rel="#L7"> 7</a> <a target=_blank id="L8" href="http://blog.csdn.net/takeheart94/article/details/39070799#L8" rel="#L8"> 8</a> <a target=_blank id="L9" href="http://blog.csdn.net/takeheart94/article/details/39070799#L9" rel="#L9"> 9</a> <a target=_blank id="L10" href="http://blog.csdn.net/takeheart94/article/details/39070799#L10" rel="#L10"> 10</a> <a target=_blank id="L11" href="http://blog.csdn.net/takeheart94/article/details/39070799#L11" rel="#L11"> 11</a> <a target=_blank id="L12" href="http://blog.csdn.net/takeheart94/article/details/39070799#L12" rel="#L12"> 12</a> <a target=_blank id="L13" href="http://blog.csdn.net/takeheart94/article/details/39070799#L13" rel="#L13"> 13</a> <a target=_blank id="L14" href="http://blog.csdn.net/takeheart94/article/details/39070799#L14" rel="#L14"> 14</a> <a target=_blank id="L15" href="http://blog.csdn.net/takeheart94/article/details/39070799#L15" rel="#L15"> 15</a> <a target=_blank id="L16" href="http://blog.csdn.net/takeheart94/article/details/39070799#L16" rel="#L16"> 16</a> <a target=_blank id="L17" href="http://blog.csdn.net/takeheart94/article/details/39070799#L17" rel="#L17"> 17</a> <a target=_blank id="L18" href="http://blog.csdn.net/takeheart94/article/details/39070799#L18" rel="#L18"> 18</a> <a target=_blank id="L19" href="http://blog.csdn.net/takeheart94/article/details/39070799#L19" rel="#L19"> 19</a> <a target=_blank id="L20" href="http://blog.csdn.net/takeheart94/article/details/39070799#L20" rel="#L20"> 20</a> <a target=_blank id="L21" href="http://blog.csdn.net/takeheart94/article/details/39070799#L21" rel="#L21"> 21</a> <a target=_blank id="L22" href="http://blog.csdn.net/takeheart94/article/details/39070799#L22" rel="#L22"> 22</a> <a target=_blank id="L23" href="http://blog.csdn.net/takeheart94/article/details/39070799#L23" rel="#L23"> 23</a> <a target=_blank id="L24" href="http://blog.csdn.net/takeheart94/article/details/39070799#L24" rel="#L24"> 24</a> <a target=_blank id="L25" href="http://blog.csdn.net/takeheart94/article/details/39070799#L25" rel="#L25"> 25</a> <a target=_blank id="L26" href="http://blog.csdn.net/takeheart94/article/details/39070799#L26" rel="#L26"> 26</a> <a target=_blank id="L27" href="http://blog.csdn.net/takeheart94/article/details/39070799#L27" rel="#L27"> 27</a> <a target=_blank id="L28" href="http://blog.csdn.net/takeheart94/article/details/39070799#L28" rel="#L28"> 28</a> <a target=_blank id="L29" href="http://blog.csdn.net/takeheart94/article/details/39070799#L29" rel="#L29"> 29</a> <a target=_blank id="L30" href="http://blog.csdn.net/takeheart94/article/details/39070799#L30" rel="#L30"> 30</a> |
|
来自CODE的代码片
Demo1.java
2,获取其中的字段
<a target=_blank id="L1" href="http://blog.csdn.net/takeheart94/article/details/39070799#L1" rel="#L1"> 1</a> <a target=_blank id="L2" href="http://blog.csdn.net/takeheart94/article/details/39070799#L2" rel="#L2"> 2</a> <a target=_blank id="L3" href="http://blog.csdn.net/takeheart94/article/details/39070799#L3" rel="#L3"> 3</a> <a target=_blank id="L4" href="http://blog.csdn.net/takeheart94/article/details/39070799#L4" rel="#L4"> 4</a> <a target=_blank id="L5" href="http://blog.csdn.net/takeheart94/article/details/39070799#L5" rel="#L5"> 5</a> <a target=_blank id="L6" href="http://blog.csdn.net/takeheart94/article/details/39070799#L6" rel="#L6"> 6</a> <a target=_blank id="L7" href="http://blog.csdn.net/takeheart94/article/details/39070799#L7" rel="#L7"> 7</a> <a target=_blank id="L8" href="http://blog.csdn.net/takeheart94/article/details/39070799#L8" rel="#L8"> 8</a> <a target=_blank id="L9" href="http://blog.csdn.net/takeheart94/article/details/39070799#L9" rel="#L9"> 9</a> <a target=_blank id="L10" href="http://blog.csdn.net/takeheart94/article/details/39070799#L10" rel="#L10"> 10</a> <a target=_blank id="L11" href="http://blog.csdn.net/takeheart94/article/details/39070799#L11" rel="#L11"> 11</a> <a target=_blank id="L12" href="http://blog.csdn.net/takeheart94/article/details/39070799#L12" rel="#L12"> 12</a> <a target=_blank id="L13" href="http://blog.csdn.net/takeheart94/article/details/39070799#L13" rel="#L13"> 13</a> <a target=_blank id="L14" href="http://blog.csdn.net/takeheart94/article/details/39070799#L14" rel="#L14"> 14</a> <a target=_blank id="L15" href="http://blog.csdn.net/takeheart94/article/details/39070799#L15" rel="#L15"> 15</a> <a target=_blank id="L16" href="http://blog.csdn.net/takeheart94/article/details/39070799#L16" rel="#L16"> 16</a> <a target=_blank id="L17" href="http://blog.csdn.net/takeheart94/article/details/39070799#L17" rel="#L17"> 17</a> <a target=_blank id="L18" href="http://blog.csdn.net/takeheart94/article/details/39070799#L18" rel="#L18"> 18</a> <a target=_blank id="L19" href="http://blog.csdn.net/takeheart94/article/details/39070799#L19" rel="#L19"> 19</a> <a target=_blank id="L20" href="http://blog.csdn.net/takeheart94/article/details/39070799#L20" rel="#L20"> 20</a> <a target=_blank id="L21" href="http://blog.csdn.net/takeheart94/article/details/39070799#L21" rel="#L21"> 21</a> <a target=_blank id="L22" href="http://blog.csdn.net/takeheart94/article/details/39070799#L22" rel="#L22"> 22</a> |
|
来自CODE的代码片
Demo2.java
3,获取其中的方法
<a target=_blank id="L1" href="http://blog.csdn.net/takeheart94/article/details/39070799#L1" rel="#L1"> 1</a> <a target=_blank id="L2" href="http://blog.csdn.net/takeheart94/article/details/39070799#L2" rel="#L2"> 2</a> <a target=_blank id="L3" href="http://blog.csdn.net/takeheart94/article/details/39070799#L3" rel="#L3"> 3</a> <a target=_blank id="L4" href="http://blog.csdn.net/takeheart94/article/details/39070799#L4" rel="#L4"> 4</a> <a target=_blank id="L5" href="http://blog.csdn.net/takeheart94/article/details/39070799#L5" rel="#L5"> 5</a> <a target=_blank id="L6" href="http://blog.csdn.net/takeheart94/article/details/39070799#L6" rel="#L6"> 6</a> <a target=_blank id="L7" href="http://blog.csdn.net/takeheart94/article/details/39070799#L7" rel="#L7"> 7</a> <a target=_blank id="L8" href="http://blog.csdn.net/takeheart94/article/details/39070799#L8" rel="#L8"> 8</a> <a target=_blank id="L9" href="http://blog.csdn.net/takeheart94/article/details/39070799#L9" rel="#L9"> 9</a> <a target=_blank id="L10" href="http://blog.csdn.net/takeheart94/article/details/39070799#L10" rel="#L10"> 10</a> <a target=_blank id="L11" href="http://blog.csdn.net/takeheart94/article/details/39070799#L11" rel="#L11"> 11</a> <a target=_blank id="L12" href="http://blog.csdn.net/takeheart94/article/details/39070799#L12" rel="#L12"> 12</a> <a target=_blank id="L13" href="http://blog.csdn.net/takeheart94/article/details/39070799#L13" rel="#L13"> 13</a> <a target=_blank id="L14" href="http://blog.csdn.net/takeheart94/article/details/39070799#L14" rel="#L14"> 14</a> <a target=_blank id="L15" href="http://blog.csdn.net/takeheart94/article/details/39070799#L15" rel="#L15"> 15</a> <a target=_blank id="L16" href="http://blog.csdn.net/takeheart94/article/details/39070799#L16" rel="#L16"> 16</a> <a target=_blank id="L17" href="http://blog.csdn.net/takeheart94/article/details/39070799#L17" rel="#L17"> 17</a> <a target=_blank id="L18" href="http://blog.csdn.net/takeheart94/article/details/39070799#L18" rel="#L18"> 18</a> <a target=_blank id="L19" href="http://blog.csdn.net/takeheart94/article/details/39070799#L19" rel="#L19"> 19</a> <a target=_blank id="L20" href="http://blog.csdn.net/takeheart94/article/details/39070799#L20" rel="#L20"> 20</a> <a target=_blank id="L21" href="http://blog.csdn.net/takeheart94/article/details/39070799#L21" rel="#L21"> 21</a> <a target=_blank id="L22" href="http://blog.csdn.net/takeheart94/article/details/39070799#L22" rel="#L22"> 22</a> <a target=_blank id="L23" href="http://blog.csdn.net/takeheart94/article/details/39070799#L23" rel="#L23"> 23</a> <a target=_blank id="L24" href="http://blog.csdn.net/takeheart94/article/details/39070799#L24" rel="#L24"> 24</a> <a target=_blank id="L25" href="http://blog.csdn.net/takeheart94/article/details/39070799#L25" rel="#L25"> 25</a> <a target=_blank id="L26" href="http://blog.csdn.net/takeheart94/article/details/39070799#L26" rel="#L26"> 26</a> <a target=_blank id="L27" href="http://blog.csdn.net/takeheart94/article/details/39070799#L27" rel="#L27"> 27</a> <a target=_blank id="L28" href="http://blog.csdn.net/takeheart94/article/details/39070799#L28" rel="#L28"> 28</a> <a target=_blank id="L29" href="http://blog.csdn.net/takeheart94/article/details/39070799#L29" rel="#L29"> 29</a> <a target=_blank id="L30" href="http://blog.csdn.net/takeheart94/article/details/39070799#L30" rel="#L30"> 30</a> <a target=_blank id="L31" href="http://blog.csdn.net/takeheart94/article/details/39070799#L31" rel="#L31"> 31</a> <a target=_blank id="L32" href="http://blog.csdn.net/takeheart94/article/details/39070799#L32" rel="#L32"> 32</a> <a target=_blank id="L33" href="http://blog.csdn.net/takeheart94/article/details/39070799#L33" rel="#L33"> 33</a> <a target=_blank id="L34" href="http://blog.csdn.net/takeheart94/article/details/39070799#L34" rel="#L34"> 34</a> <a target=_blank id="L35" href="http://blog.csdn.net/takeheart94/article/details/39070799#L35" rel="#L35"> 35</a> <a target=_blank id="L36" href="http://blog.csdn.net/takeheart94/article/details/39070799#L36" rel="#L36"> 36</a> <a target=_blank id="L37" href="http://blog.csdn.net/takeheart94/article/details/39070799#L37" rel="#L37"> 37</a> <a target=_blank id="L38" href="http://blog.csdn.net/takeheart94/article/details/39070799#L38" rel="#L38"> 38</a> <a target=_blank id="L39" href="http://blog.csdn.net/takeheart94/article/details/39070799#L39" rel="#L39"> 39</a> <a target=_blank id="L40" href="http://blog.csdn.net/takeheart94/article/details/39070799#L40" rel="#L40"> 40</a> <a target=_blank id="L41" href="http://blog.csdn.net/takeheart94/article/details/39070799#L41" rel="#L41"> 41</a> <a target=_blank id="L42" href="http://blog.csdn.net/takeheart94/article/details/39070799#L42" rel="#L42"> 42</a> <a target=_blank id="L43" href="http://blog.csdn.net/takeheart94/article/details/39070799#L43" rel="#L43"> 43</a> <a target=_blank id="L44" href="http://blog.csdn.net/takeheart94/article/details/39070799#L44" rel="#L44"> 44</a> |
|
来自CODE的代码片
Demo3.java
以上代码全部来自于毕向东老师讲解的反射