java反射示例演示代码

news/2024/5/19 2:26:59 标签: java, 反射, class, , spring
class="baidu_pl">
class="article_content clearfix">
class="markdown_views prism-atom-one-dark">

class="tags" href="/tags/JAVA.html" title=java>java_0">class="tags" href="/tags/JAVA.html" title=java>javaclass="tags" href="/tags/FanShe.html" title=反射>反射示例演示代码

class="toc">

文章目录

  • class="tags" href="/tags/JAVA.html" title=java>javaclass="tags" href="/tags/FanShe.html" title=反射>反射示例演示代码
    • class="tags" href="/tags/FanShe.html" title=反射>反射是什么?
    • 代码示例
      • 1.用于class="tags" href="/tags/FanShe.html" title=反射>反射的
      • 2.reflect()方法
        • 输出
      • 3.method()方法
        • 输出

class="tags" href="/tags/FanShe.html" title=反射>反射是什么?

介绍: Java的class="tags" href="/tags/FanShe.html" title=反射>反射(reflection)机制是指在程序的运行状态中,可以构造任意一个的对象,可以了解任意一个对象所属的,可以了解任意一个的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的class="tags" href="/tags/FanShe.html" title=反射>反射机制。class="tags" href="/tags/FanShe.html" title=反射>反射被视为动态语言的关键。

​ 这种机制在很多的如Spring的框架中得到应用,所以还是需要了解一下的。写了一个段代码简单介绍一下这种机制,reflect()方法是通过class="tags" href="/tags/FanShe.html" title=反射>反射拿到一个的基本信息,如方法名称,参数,构造器等, 然后拼接字符串打印出来。method()是通过class="tags" href="/tags/FanShe.html" title=反射>反射实例化对象,然后给对象赋值。

代码示例

1.用于class="tags" href="/tags/FanShe.html" title=反射>反射的

class="prism language-class="tags" href="/tags/JAVA.html" title=java>java">class="token keyword">public class="token keyword">class class="token class-name">Customer class="token punctuation">{
    class="token keyword">private class="token keyword">int custidclass="token punctuation">;
    class="token keyword">private class="token class-name">String custnameclass="token punctuation">;
    class="token keyword">private class="token class-name">String contactsclass="token punctuation">;
    class="token keyword">private class="token class-name">String telclass="token punctuation">;
    class="token keyword">private class="token class-name">String emailclass="token punctuation">;
    class="token keyword">private class="token keyword">int empidclass="token punctuation">;

    class="token keyword">public class="token class-name">Customerclass="token punctuation">(class="token punctuation">) class="token punctuation">{
        class="token class-name">Systemclass="token punctuation">.outclass="token punctuation">.class="token function">printlnclass="token punctuation">(class="token string">"Customer无参构造器"class="token punctuation">)class="token punctuation">;
    class="token punctuation">}

    class="token keyword">public class="token class-name">Customerclass="token punctuation">(class="token keyword">int custidclass="token punctuation">, class="token class-name">String custnameclass="token punctuation">, class="token class-name">String contactsclass="token punctuation">, class="token class-name">String telclass="token punctuation">, class="token class-name">String emailclass="token punctuation">) class="token punctuation">{
        class="token keyword">thisclass="token punctuation">.custid class="token operator">= custidclass="token punctuation">;
        class="token keyword">thisclass="token punctuation">.custname class="token operator">= custnameclass="token punctuation">;
        class="token keyword">thisclass="token punctuation">.contacts class="token operator">= contactsclass="token punctuation">;
        class="token keyword">thisclass="token punctuation">.tel class="token operator">= telclass="token punctuation">;
        class="token keyword">thisclass="token punctuation">.email class="token operator">= emailclass="token punctuation">;
    class="token punctuation">}

    class="token keyword">public class="token class-name">Customerclass="token punctuation">(class="token class-name">String custnameclass="token punctuation">, class="token class-name">String contactsclass="token punctuation">, class="token class-name">String telclass="token punctuation">, class="token class-name">String emailclass="token punctuation">, class="token keyword">int empidclass="token punctuation">) class="token punctuation">{
        class="token keyword">thisclass="token punctuation">.custname class="token operator">= custnameclass="token punctuation">;
        class="token keyword">thisclass="token punctuation">.contacts class="token operator">= contactsclass="token punctuation">;
        class="token keyword">thisclass="token punctuation">.tel class="token operator">= telclass="token punctuation">;
        class="token keyword">thisclass="token punctuation">.email class="token operator">= emailclass="token punctuation">;
        class="token keyword">thisclass="token punctuation">.empid class="token operator">= empidclass="token punctuation">;
    class="token punctuation">}

    class="token keyword">public class="token class-name">Customerclass="token punctuation">(class="token keyword">int custidclass="token punctuation">, class="token class-name">String custnameclass="token punctuation">, class="token class-name">String contactsclass="token punctuation">, class="token class-name">String telclass="token punctuation">, class="token class-name">String emailclass="token punctuation">, class="token keyword">int empidclass="token punctuation">) class="token punctuation">{
        class="token keyword">thisclass="token punctuation">.custid class="token operator">= custidclass="token punctuation">;
        class="token keyword">thisclass="token punctuation">.custname class="token operator">= custnameclass="token punctuation">;
        class="token keyword">thisclass="token punctuation">.contacts class="token operator">= contactsclass="token punctuation">;
        class="token keyword">thisclass="token punctuation">.tel class="token operator">= telclass="token punctuation">;
        class="token keyword">thisclass="token punctuation">.email class="token operator">= emailclass="token punctuation">;
        class="token keyword">thisclass="token punctuation">.empid class="token operator">= empidclass="token punctuation">;
    class="token punctuation">}

    class="token annotation punctuation">@Override
    class="token keyword">public class="token class-name">String class="token function">toStringclass="token punctuation">(class="token punctuation">) class="token punctuation">{
        class="token keyword">return class="token string">"Customer{" class="token operator">+
                class="token string">"custid=" class="token operator">+ custid class="token operator">+
                class="token string">", custname='" class="token operator">+ custname class="token operator">+ class="token string">'\'' class="token operator">+
                class="token string">", contacts='" class="token operator">+ contacts class="token operator">+ class="token string">'\'' class="token operator">+
                class="token string">", tel='" class="token operator">+ tel class="token operator">+ class="token string">'\'' class="token operator">+
                class="token string">", email='" class="token operator">+ email class="token operator">+ class="token string">'\'' class="token operator">+
                class="token string">", empid=" class="token operator">+ empid class="token operator">+
                class="token string">'}'class="token punctuation">;
    class="token punctuation">}

    class="token keyword">public class="token keyword">int class="token function">getCustidclass="token punctuation">(class="token punctuation">) class="token punctuation">{
        class="token keyword">return custidclass="token punctuation">;
    class="token punctuation">}

    class="token keyword">public class="token keyword">void class="token function">setCustidclass="token punctuation">(class="token keyword">int custidclass="token punctuation">) class="token punctuation">{
        class="token keyword">thisclass="token punctuation">.custid class="token operator">= custidclass="token punctuation">;
    class="token punctuation">}

    class="token keyword">public class="token class-name">String class="token function">getCustnameclass="token punctuation">(class="token punctuation">) class="token punctuation">{
        class="token keyword">return custnameclass="token punctuation">;
    class="token punctuation">}

    class="token keyword">public class="token keyword">void class="token function">setCustnameclass="token punctuation">(class="token class-name">String custnameclass="token punctuation">) class="token punctuation">{
        class="token keyword">thisclass="token punctuation">.custname class="token operator">= custnameclass="token punctuation">;
    class="token punctuation">}

    class="token keyword">public class="token class-name">String class="token function">getContactsclass="token punctuation">(class="token punctuation">) class="token punctuation">{
        class="token keyword">return contactsclass="token punctuation">;
    class="token punctuation">}

    class="token keyword">public class="token keyword">void class="token function">setContactsclass="token punctuation">(class="token class-name">String contactsclass="token punctuation">) class="token punctuation">{
        class="token keyword">thisclass="token punctuation">.contacts class="token operator">= contactsclass="token punctuation">;
    class="token punctuation">}

    class="token keyword">public class="token class-name">String class="token function">getTelclass="token punctuation">(class="token punctuation">) class="token punctuation">{
        class="token keyword">return telclass="token punctuation">;
    class="token punctuation">}

    class="token keyword">public class="token keyword">void class="token function">setTelclass="token punctuation">(class="token class-name">String telclass="token punctuation">) class="token punctuation">{
        class="token keyword">thisclass="token punctuation">.tel class="token operator">= telclass="token punctuation">;
    class="token punctuation">}

    class="token keyword">public class="token class-name">String class="token function">getEmailclass="token punctuation">(class="token punctuation">) class="token punctuation">{
        class="token keyword">return emailclass="token punctuation">;
    class="token punctuation">}

    class="token keyword">public class="token keyword">void class="token function">setEmailclass="token punctuation">(class="token class-name">String emailclass="token punctuation">) class="token punctuation">{
        class="token keyword">thisclass="token punctuation">.email class="token operator">= emailclass="token punctuation">;
    class="token punctuation">}

    class="token keyword">public class="token keyword">int class="token function">getEmpidclass="token punctuation">(class="token punctuation">) class="token punctuation">{
        class="token keyword">return empidclass="token punctuation">;
    class="token punctuation">}

    class="token keyword">public class="token keyword">void class="token function">setEmpidclass="token punctuation">(class="token keyword">int empidclass="token punctuation">) class="token punctuation">{
        class="token keyword">thisclass="token punctuation">.empid class="token operator">= empidclass="token punctuation">;
    class="token punctuation">}
class="token punctuation">}

2.reflect()方法

class="prism language-class="tags" href="/tags/JAVA.html" title=java>java">  class="token keyword">public class="token keyword">static class="token keyword">void class="token function">reflectclass="token punctuation">(class="token punctuation">) class="token punctuation">{
        class="token class-name">String className class="token operator">= class="token string">"pro.reflect.Customer"class="token punctuation">;
        class="token keyword">try class="token punctuation">{
            class="token comment">//得到class="tags" href="/tags/FanShe.html" title=反射>反射对象
            class="token class-name">Class cls class="token operator">= class="token class-name">Classclass="token punctuation">.class="token function">forNameclass="token punctuation">(classNameclass="token punctuation">)class="token punctuation">;
            class="token comment">//根据class="tags" href="/tags/FanShe.html" title=反射>反射对象获得修饰符
            class="token class-name">String modify class="token operator">= class="token class-name">Modifierclass="token punctuation">.class="token function">toStringclass="token punctuation">(clsclass="token punctuation">.class="token function">getModifiersclass="token punctuation">(class="token punctuation">)class="token punctuation">)class="token punctuation">;
            class="token comment">//得到class="tags" href="/tags/FanShe.html" title=反射>反射名称
            class="token class-name">String name class="token operator">= clsclass="token punctuation">.class="token function">getNameclass="token punctuation">(class="token punctuation">)class="token punctuation">;
            class="token class-name">Systemclass="token punctuation">.outclass="token punctuation">.class="token function">printlnclass="token punctuation">(modify class="token operator">+ class="token string">" class " class="token operator">+ name class="token operator">+ class="token string">"{"class="token punctuation">)class="token punctuation">;
            class="token class-name">Systemclass="token punctuation">.outclass="token punctuation">.class="token function">printlnclass="token punctuation">(class="token string">"****************得到属性*****************"class="token punctuation">)class="token punctuation">;
            class="token comment">//得到的所有的属性字段custid,custname,contacts...
            class="token class-name">Fieldclass="token punctuation">[class="token punctuation">] declaredFields class="token operator">= clsclass="token punctuation">.class="token function">getDeclaredFieldsclass="token punctuation">(class="token punctuation">)class="token punctuation">;
            class="token comment">//循环遍历输出
            class="token keyword">for class="token punctuation">(class="token class-name">Field field class="token operator">: declaredFieldsclass="token punctuation">) class="token punctuation">{
                class="token comment">//根据字段属性获得修饰符private,public...
                modify class="token operator">= class="token class-name">Modifierclass="token punctuation">.class="token function">toStringclass="token punctuation">(fieldclass="token punctuation">.class="token function">getModifiersclass="token punctuation">(class="token punctuation">)class="token punctuation">)class="token punctuation">;
                class="token comment">//得到字段型名称string,int...
                class="token class-name">String type class="token operator">= fieldclass="token punctuation">.class="token function">getTypeclass="token punctuation">(class="token punctuation">)class="token punctuation">.class="token function">getNameclass="token punctuation">(class="token punctuation">)class="token punctuation">;
                class="token comment">//得到属性字段名称custid,custname,contacts
                name class="token operator">= fieldclass="token punctuation">.class="token function">getNameclass="token punctuation">(class="token punctuation">)class="token punctuation">;
                class="token class-name">Systemclass="token punctuation">.outclass="token punctuation">.class="token function">printlnclass="token punctuation">(modify class="token operator">+ class="token string">" " class="token operator">+ type class="token operator">+ class="token string">" " class="token operator">+ name class="token operator">+ class="token string">";"class="token punctuation">)class="token punctuation">;
            class="token punctuation">}
            class="token class-name">Systemclass="token punctuation">.outclass="token punctuation">.class="token function">printlnclass="token punctuation">(class="token string">"****************得到所有的构造器*****************"class="token punctuation">)class="token punctuation">;
            class="token comment">//得到所有的构造器
            class="token class-name">Constructorclass="token punctuation">[class="token punctuation">] declaredConstructors class="token operator">= clsclass="token punctuation">.class="token function">getDeclaredConstructorsclass="token punctuation">(class="token punctuation">)class="token punctuation">;
            class="token comment">//循环输出
            class="token keyword">for class="token punctuation">(class="token class-name">Constructor constructor class="token operator">: declaredConstructorsclass="token punctuation">) class="token punctuation">{
                class="token comment">//根据构造器获得修饰符private,public...
                modify class="token operator">= class="token class-name">Modifierclass="token punctuation">.class="token function">toStringclass="token punctuation">(constructorclass="token punctuation">.class="token function">getModifiersclass="token punctuation">(class="token punctuation">)class="token punctuation">)class="token punctuation">;
                class="token comment">//得到构造器字段名称Customer
                name class="token operator">= constructorclass="token punctuation">.class="token function">getNameclass="token punctuation">(class="token punctuation">)class="token punctuation">;
                class="token comment">//根据构造器得到所以参数的
                class="token class-name">Classclass="token punctuation">[class="token punctuation">] parameterTypes class="token operator">= constructorclass="token punctuation">.class="token function">getParameterTypesclass="token punctuation">(class="token punctuation">)class="token punctuation">;

                class="token class-name">Systemclass="token punctuation">.outclass="token punctuation">.class="token function">printclass="token punctuation">(modify class="token operator">+ class="token string">" " class="token operator">+ name class="token operator">+ class="token string">"("class="token punctuation">)class="token punctuation">;
                class="token keyword">for class="token punctuation">(class="token class-name">Class parameterType class="token operator">: parameterTypesclass="token punctuation">) class="token punctuation">{
                    class="token class-name">Systemclass="token punctuation">.outclass="token punctuation">.class="token function">printclass="token punctuation">(parameterTypeclass="token punctuation">.class="token function">getNameclass="token punctuation">(class="token punctuation">) class="token operator">+ class="token string">","class="token punctuation">)class="token punctuation">;
                class="token punctuation">}
                class="token class-name">Systemclass="token punctuation">.outclass="token punctuation">.class="token function">printlnclass="token punctuation">(class="token string">"){}"class="token punctuation">)class="token punctuation">;
            class="token punctuation">}
            class="token class-name">Systemclass="token punctuation">.outclass="token punctuation">.class="token function">printlnclass="token punctuation">(class="token string">"****************得到所有的声明的方法*****************"class="token punctuation">)class="token punctuation">;
            class="token comment">//得到所有的声明的方法
            class="token class-name">Methodclass="token punctuation">[class="token punctuation">] declaredMethods class="token operator">= clsclass="token punctuation">.class="token function">getDeclaredMethodsclass="token punctuation">(class="token punctuation">)class="token punctuation">;
            class="token comment">//循环输出
            class="token keyword">for class="token punctuation">(class="token class-name">Method method class="token operator">: declaredMethodsclass="token punctuation">) class="token punctuation">{
                class="token comment">//根据构造器获得修饰符private,public...
                modify class="token operator">= class="token class-name">Modifierclass="token punctuation">.class="token function">toStringclass="token punctuation">(methodclass="token punctuation">.class="token function">getModifiersclass="token punctuation">(class="token punctuation">)class="token punctuation">)class="token punctuation">;
                class="token comment">//得到返回
                class="token class-name">String type class="token operator">= methodclass="token punctuation">.class="token function">getReturnTypeclass="token punctuation">(class="token punctuation">)class="token punctuation">.class="token function">getNameclass="token punctuation">(class="token punctuation">)class="token punctuation">;
                class="token comment">//得到方法名称
                name class="token operator">= methodclass="token punctuation">.class="token function">getNameclass="token punctuation">(class="token punctuation">)class="token punctuation">;
                class="token comment">//得到参数
                class="token class-name">Classclass="token punctuation">[class="token punctuation">] parameterTypes class="token operator">= methodclass="token punctuation">.class="token function">getParameterTypesclass="token punctuation">(class="token punctuation">)class="token punctuation">;
                class="token comment">//格式输出
                class="token class-name">Systemclass="token punctuation">.outclass="token punctuation">.class="token function">printclass="token punctuation">(modify class="token operator">+ class="token string">" " class="token operator">+ type class="token operator">+ class="token string">" " class="token operator">+ name class="token operator">+ class="token string">"("class="token punctuation">)class="token punctuation">;
                class="token keyword">for class="token punctuation">(class="token class-name">Class parameterType class="token operator">: parameterTypesclass="token punctuation">) class="token punctuation">{
                    class="token class-name">Systemclass="token punctuation">.outclass="token punctuation">.class="token function">printclass="token punctuation">(parameterTypeclass="token punctuation">.class="token function">getNameclass="token punctuation">(class="token punctuation">) class="token operator">+ class="token string">","class="token punctuation">)class="token punctuation">;
                class="token punctuation">}
                class="token class-name">Systemclass="token punctuation">.outclass="token punctuation">.class="token function">printlnclass="token punctuation">(class="token string">"){}"class="token punctuation">)class="token punctuation">;
            class="token punctuation">}
            class="token class-name">Systemclass="token punctuation">.outclass="token punctuation">.class="token function">printlnclass="token punctuation">(class="token string">"}"class="token punctuation">)class="token punctuation">;
        class="token punctuation">} class="token keyword">catch class="token punctuation">(class="token class-name">ClassNotFoundException eclass="token punctuation">) class="token punctuation">{
            eclass="token punctuation">.class="token function">printStackTraceclass="token punctuation">(class="token punctuation">)class="token punctuation">;
        class="token punctuation">}
    class="token punctuation">}

输出

class="prism language-class="tags" href="/tags/JAVA.html" title=java>java">class="token keyword">public class="token keyword">class class="token class-name">class="token namespace">proclass="token punctuation">.reflectclass="token punctuation">.Customerclass="token punctuation">{
class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*得到属性class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*
class="token keyword">private class="token keyword">int custidclass="token punctuation">;
class="token keyword">private class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.String custnameclass="token punctuation">;
class="token keyword">private class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.String contactsclass="token punctuation">;
class="token keyword">private class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.String telclass="token punctuation">;
class="token keyword">private class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.String emailclass="token punctuation">;
class="token keyword">private class="token keyword">int empidclass="token punctuation">;
class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*得到所有的构造器class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*
class="token keyword">public class="token class-name">class="token namespace">proclass="token punctuation">.reflectclass="token punctuation">.Customerclass="token punctuation">(class="token keyword">intclass="token punctuation">,class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.Stringclass="token punctuation">,class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.Stringclass="token punctuation">,class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.Stringclass="token punctuation">,class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.Stringclass="token punctuation">,class="token keyword">intclass="token punctuation">,class="token punctuation">)class="token punctuation">{class="token punctuation">}
class="token keyword">public class="token class-name">class="token namespace">proclass="token punctuation">.reflectclass="token punctuation">.Customerclass="token punctuation">(class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.Stringclass="token punctuation">,class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.Stringclass="token punctuation">,class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.Stringclass="token punctuation">,class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.Stringclass="token punctuation">,class="token keyword">intclass="token punctuation">,class="token punctuation">)class="token punctuation">{class="token punctuation">}
class="token keyword">public class="token class-name">class="token namespace">proclass="token punctuation">.reflectclass="token punctuation">.Customerclass="token punctuation">(class="token keyword">intclass="token punctuation">,class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.Stringclass="token punctuation">,class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.Stringclass="token punctuation">,class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.Stringclass="token punctuation">,class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.Stringclass="token punctuation">,class="token punctuation">)class="token punctuation">{class="token punctuation">}
class="token keyword">public class="token class-name">class="token namespace">proclass="token punctuation">.reflectclass="token punctuation">.Customerclass="token punctuation">(class="token punctuation">)class="token punctuation">{class="token punctuation">}
class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*得到所有的声明的方法class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*class="token operator">*
class="token keyword">public class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.String class="token function">toStringclass="token punctuation">(class="token punctuation">)class="token punctuation">{class="token punctuation">}
class="token keyword">public class="token keyword">void class="token function">setCustidclass="token punctuation">(class="token keyword">intclass="token punctuation">,class="token punctuation">)class="token punctuation">{class="token punctuation">}
class="token keyword">public class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.String class="token function">getContactsclass="token punctuation">(class="token punctuation">)class="token punctuation">{class="token punctuation">}
class="token keyword">public class="token keyword">void class="token function">setContactsclass="token punctuation">(class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.Stringclass="token punctuation">,class="token punctuation">)class="token punctuation">{class="token punctuation">}
class="token keyword">public class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.String class="token function">getTelclass="token punctuation">(class="token punctuation">)class="token punctuation">{class="token punctuation">}
class="token keyword">public class="token keyword">void class="token function">setCustnameclass="token punctuation">(class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.Stringclass="token punctuation">,class="token punctuation">)class="token punctuation">{class="token punctuation">}
class="token keyword">public class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.String class="token function">getCustnameclass="token punctuation">(class="token punctuation">)class="token punctuation">{class="token punctuation">}
class="token keyword">public class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.String class="token function">getEmailclass="token punctuation">(class="token punctuation">)class="token punctuation">{class="token punctuation">}
class="token keyword">public class="token keyword">int class="token function">getEmpidclass="token punctuation">(class="token punctuation">)class="token punctuation">{class="token punctuation">}
class="token keyword">public class="token keyword">void class="token function">setEmailclass="token punctuation">(class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.Stringclass="token punctuation">,class="token punctuation">)class="token punctuation">{class="token punctuation">}
class="token keyword">public class="token keyword">void class="token function">setEmpidclass="token punctuation">(class="token keyword">intclass="token punctuation">,class="token punctuation">)class="token punctuation">{class="token punctuation">}
class="token keyword">public class="token keyword">int class="token function">getCustidclass="token punctuation">(class="token punctuation">)class="token punctuation">{class="token punctuation">}
class="token keyword">public class="token keyword">void class="token function">setTelclass="token punctuation">(class="token class-name">class="token namespace">class="tags" href="/tags/JAVA.html" title=java>javaclass="token punctuation">.langclass="token punctuation">.Stringclass="token punctuation">,class="token punctuation">)class="token punctuation">{class="token punctuation">}
class="token punctuation">}

3.method()方法

class="prism language-class="tags" href="/tags/JAVA.html" title=java>java"> 
    class="token keyword">public class="token keyword">static class="token keyword">void class="token function">methodclass="token punctuation">(class="token punctuation">) class="token punctuation">{
        class="token class-name">String className class="token operator">= class="token string">"pro.reflect.Customer"class="token punctuation">;
        class="token class-name">String fieldName class="token operator">= class="token string">"custname"class="token punctuation">;
        class="token class-name">String fieldValue class="token operator">= class="token string">"张三"class="token punctuation">;
        class="token class-name">String methodName class="token operator">= class="token string">"setTel"class="token punctuation">;
        class="token class-name">String argsTypes class="token operator">= class="token string">"class="tags" href="/tags/JAVA.html" title=java>java.lang.String"class="token punctuation">;
        class="token class-name">String argsValues class="token operator">= class="token string">"13833546346"class="token punctuation">;
        class="token keyword">try class="token punctuation">{
            class="token comment">//得到class="tags" href="/tags/FanShe.html" title=反射>反射对象
            class="token class-name">Class cls class="token operator">= class="token class-name">Classclass="token punctuation">.class="token function">forNameclass="token punctuation">(classNameclass="token punctuation">)class="token punctuation">;
            class="token comment">//Object obj = cls.newInstance();
            class="token comment">//得到构造器
            class="token class-name">Constructor declaredConstructor class="token operator">= clsclass="token punctuation">.class="token function">getDeclaredConstructorclass="token punctuation">(class="token punctuation">)class="token punctuation">;
            class="token comment">//根据构造器得到对象实例
            class="token class-name">Object obj class="token operator">= declaredConstructorclass="token punctuation">.class="token function">newInstanceclass="token punctuation">(class="token punctuation">)class="token punctuation">;
            class="token comment">//根据字段名称custname得到字段
            class="token class-name">Field field class="token operator">= clsclass="token punctuation">.class="token function">getDeclaredFieldclass="token punctuation">(fieldNameclass="token punctuation">)class="token punctuation">;
            class="token comment">//设置字段可见,注意现在的customer是由private修饰的
            fieldclass="token punctuation">.class="token function">setAccessibleclass="token punctuation">(class="token boolean">trueclass="token punctuation">)class="token punctuation">;
            class="token comment">//字段赋值
            fieldclass="token punctuation">.class="token function">setclass="token punctuation">(objclass="token punctuation">, fieldValueclass="token punctuation">)class="token punctuation">;
            class="token comment">//得到参数字段型argsTypes-》class="tags" href="/tags/JAVA.html" title=java>java.lang.String
            class="token class-name">Class argsTypeClass class="token operator">= class="token class-name">Classclass="token punctuation">.class="token function">forNameclass="token punctuation">(argsTypesclass="token punctuation">)class="token punctuation">;
            class="token comment">//声明的方法
            class="token class-name">Method declaredMethod class="token operator">= class="token keyword">nullclass="token punctuation">;
            class="token comment">//得到方法通过方法名和参数型methodName——》setTel,并传入参数argsTypeClass
            declaredMethod class="token operator">= clsclass="token punctuation">.class="token function">getDeclaredMethodclass="token punctuation">(methodNameclass="token punctuation">, argsTypeClassclass="token punctuation">)class="token punctuation">;
            class="token comment">//为对象实例赋值;argsValues->13833546346
            declaredMethodclass="token punctuation">.class="token function">invokeclass="token punctuation">(objclass="token punctuation">, argsValuesclass="token punctuation">)class="token punctuation">;
            class="token comment">//打印实例
            class="token class-name">Systemclass="token punctuation">.outclass="token punctuation">.class="token function">printlnclass="token punctuation">(objclass="token punctuation">)class="token punctuation">;
        class="token punctuation">} class="token keyword">catch class="token punctuation">(class="token class-name">Exception eclass="token punctuation">) class="token punctuation">{
            eclass="token punctuation">.class="token function">printStackTraceclass="token punctuation">(class="token punctuation">)class="token punctuation">;
        class="token punctuation">}
    class="token punctuation">}

输出

class="prism language-class="tags" href="/tags/JAVA.html" title=java>java">class="token class-name">Customer无参构造器
class="token class-name">Customerclass="token punctuation">{custidclass="token operator">=class="token number">0class="token punctuation">, custnameclass="token operator">=class="token string">'张三'class="token punctuation">, contactsclass="token operator">=class="token string">'null'class="token punctuation">, telclass="token operator">=class="token string">'13833546346'class="token punctuation">, emailclass="token operator">=class="token string">'null'class="token punctuation">, empidclass="token operator">=class="token number">0class="token punctuation">}

希望对你有帮助,打工人冲冲冲!


http://www.niftyadmin.cn/n/1758206.html

相关文章

SpringBoot整合Redis及简单使用

SpringBoot整合Redis 文章目录SpringBoot整合Redis一.Pom文件导入依赖二.配置application.properties文件三.新建一个User对象(可省略)四.简单测试五.总结一.Pom文件导入依赖 主要是Redis的依赖&#xff0c;还使用了hutool工具来转Json(可省略) <dependencies><!--R…

Springboot-Aop基于正则表达式和注解实现

Springboot-Aop基于正则表达式和注解实现 文章目录Springboot-Aop基于正则表达式和注解实现一.Aop的基本概念AOP的几个关键词二.Pom文件导入依赖项目结构三.具体实现方式一.使用正则表达式配置切入点a.添加切面b.创建Controller测试c.测试d.结论方式二.使用自定义注解实现a.自定…

单例模式和双重检测锁模式下的相关问题

单例模式 文章目录单例模式单例模式要点方式一&#xff1a;饿汉模式方式二&#xff1a;懒汉模式方式三&#xff1a;静态内部类方式四&#xff1a;枚举类型总结&#xff1a;单例模式要点 ​ 其实单例模式重点有三个&#xff1a;一是某个类只能有一个实例&#xff1b;二是它必须…

四大函数式接口演示代码——>通俗易懂

四大函数式接口演示代码——>通俗易懂 文章目录四大函数式接口演示代码——>通俗易懂函数式接口一&#xff1a;Function用法&#xff1a;提供一个T类对象&#xff0c;返回 R类对象演示代码二&#xff1a;Predicate用法&#xff1a;提供一个T类对象&#xff0c;返回boolea…

Mysql事务的四大特性(ACID)和事务隔离级别

Mysql事务的四大特性(ACID)和事务隔离级别 文章目录Mysql事务的四大特性(ACID)和事务隔离级别一.什么是事务&#xff1f;二.打个比方三.事务的四大特性是什么&#xff1f;四.事务隔离级别有哪些?读未提交(Read Uncommitted)&#xff1a;读提交(Read Committed)&#xff1a;可重…

CentOS7精简版基本配置

CentOS7精简版基本配置 文章目录CentOS7精简版基本配置一&#xff0c;CentOS7下载及环境准备二&#xff0c;静态IP配置三&#xff0c;启动虚拟机四&#xff0c;安装基本工具命令五&#xff0c;总结一&#xff0c;CentOS7下载及环境准备 阿里云镜像下载地址,使用CentOS-7-x86_6…

Java后端开发必备软件下载地址汇总

Java后端开发必备软件下载地址汇总 文章目录Java后端开发必备软件下载地址汇总先记录&#xff0c;用到再加&#xff0c;持续更新&#xff0c;欢迎补充。华为云jdk8OpenJdk小版本IDEA各版本Tomcat各版本Maven各版本Mysql各版本Node.js各版本GitTyporaPostmanCode::Blocks7-zipno…

返回列表的最大值下标_python入门到精通教程06-一文轻松搞懂python列表

列表定义使用中括号[],里面的值可以为任意类型list1 [hello,123,99.99,False]列表特点有序&#xff1a;下标索引元素可修改值可重复列表值访问list[index]:索引从0开始&#xff0c;不能越界list[0]访问第一个值列表新增list.append(value):数组列表末尾新增list.insert(index,…