Android第二十六天

一:反射機制
    經過對象獲取它所屬的類。反射機制的源頭是Class類。
    Class類
    Class類的實例表示正在運行的Java應用程序中的類和接口。
   
二:獲取Class類的實例的三種方法:
    1. Class.forName("xxx.xxx.類名");
    2. getClass()  返回運行時類
    3. 類.class   (Android中常常會用到)ide

三:Class類的經常使用方法:
    1.public Field[] getFields() 返回全部public的字段
    2.public Field[] getDeclaredFields() 返回全部聲明的字段(包括private字段)
    3.public Method[] getDeclaredMethods() 返回聲明的全部方法(不包括構造方法)
    4.public Constructor<?>[] getDeclaredConstructors() 返回全部構造方法
    5.Constructor<?> getDeclaredConstructor(Class<?>... xxx)獲取某個具體的構造方法
    6.public T newInstance()
     建立此Class對象所表示的類的一個新實例。類中必須含有無參構造!
    7.public Method getMethod(String name,
                        Class<?>... parameterTypes)
      name - 方法名
      parameterTypes - 參數列表對象


四:Field類的經常使用方法
    public String getName() 返回此Field對象表示的字段的名稱。
    getModifiers()   獲取字段修飾符的整數形式
    getType()   獲取字段類型的Class形式
    getName()   獲取字段名稱接口

五:Method類經常使用方法
    getModifiers()   獲取方法修飾符的整數形式
    Class<?>[] types=method.getParameterTypes(); 獲取全部的參數類型
    getReturnType()   獲取返回值類型
    getName() 獲取方法名稱
    invoke(Object obj,Object... args)  調用此方法,obj:調用對象 args...:傳遞的參數get

六:Constructor類(表明構造方法)
    public T newInstance(Object... initargs)調用有參構造實例化對象it

七:Annotation註解:
    @Override
      檢查子類是否正確複寫了父類的某個方法。
    @SuppressWarnings(xxx)
      壓制警告
    @Deprecated
      不建議使用的方法或類io

補充:
一:對象克隆
    Object類的方法:
    protected Object clone()  建立並返回此對象的一個副本。
    只有實現了Cloneable接口的類的對象才能被克隆。class

二:Jar包
    JAR(Java Archive)
    打Jar包的方法:jar -cvf jar包名稱.jar 要打包的文件夾
    c:(create)新建jar包
    v:(verbose) 顯示打包的詳細過程
    f:(file) 打包文件打包

相關文章
相關標籤/搜索