タイプ識別と反射

1735 ワード

       (Run-time Type Identification, RTTI)       ,                       ,          “  ”  。
   RTTI Java      ,                    ,      “Class  ”   ,           。           ,       Class  ,                  Class  ,          .class   ( :       ,Java                           。                 ,           Class。)。    ,             ,       Java   (JVM)       Class        ,      ,JVM        .class  ,     ,      Class       ,               。   RTTI      :
1.        。 “(Apple)Fruit”, RTTI          ,              ,      ClassCastException  。
2.    Class          。 
Class c = Class.forName(“Apple”);
Object o = c.newInstance();
3.       instanceof Class.isInstance()                    ,    ,   instanceof / Class.isInstance()                          ,  equals() / ==   ,                     ,        。
  
                   ,    RTTI   ,                ,      RTTI   。     ,           RTTI     。
              ,          ,    “       ”,        ,             (RAD)            。               ,                      ,               。               ,          ,                。   GUI                  ,  RAD                  。   ,                       。Java  JavaBeans            。
            ,                 ,                            。        (RMI),     Java             ,                            ,         ,      。
       Class    ,java.lang.reflect    Field/Method/Constructor ,       Member  。          JVM       ,             。    Constructor       , get() set()        Field       , invoke()     Method       。  ,     getFields()、getMethods()、getConstructors()          、            。  ,                      ,              。
         ,RTTI         。                     ,    RTTI           。