java 反射機制

來源:互聯網
上載者:User

標籤:

通過反射得到方法:

方法關鍵字

含義

getDeclaredMethods()

擷取所有的方法

getReturnType()

獲得方法的放回類型

getParameterTypes()

獲得方法的傳入參數類型

getDeclaredMethod("方法名",參數類型.class,……)

獲得特定的方法

 

 

構造方法關鍵字

含義

getDeclaredConstructors()

擷取所有的構造方法

getDeclaredConstructor(參數類型.class,……)

擷取特定的構造方法

 

 

父類和父介面

含義

getSuperclass()

擷取某類的父類

getInterfaces()

擷取某類實現的介面

 

 

程式碼範例:  

 

    @Test    public void fun() throws ClassNotFoundException{                //構建類        Class<?> cls = Class.forName("fanshe.User");                //得到屬性        Field[] fields =  cls.getDeclaredFields();        for(Field field :fields){            System.out.println(                    Modifier.toString(field.getModifiers())+"\n"+//得到屬性的修飾                    field.getType().getSimpleName()+"\n"+//得到屬性的類型                    field.getName()//得到屬性的名字                    );        }                //得到方法        Method[] methods = cls.getDeclaredMethods();                for(Method method : methods){            System.out.println(                    Modifier.toString(method.getModifiers())+"\n"+//得到方法的修飾                    method.getReturnType().getSimpleName()+"\n"+//得到傳回值的類型                    method.getName()//得到名字                    );        }                System.out.println(cls.getSimpleName());            }

 

java 反射機制

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.