java RTTI与反射机制

1.RTTI(对象运行时类型标识) 

RTTI可以知道不确定对象的类型,但是该类型必须在编译时已经知道,这样才能识别。

 1 public class RTTITest {
 2     public static void main(String []args) throws ClassNotFoundException, InstantiationException, IllegalAccessException{
 3         Animal animal=new Pig();
 4         animal.feature();
 5         Object pig=null;
 6         if(animal instanceof Pig){
 7             pig=(Pig)animal;
 8             System.out.println("true");
 9         }
10         Class pigNew=Class.forName("Pig");
11         pig=pigNew.newInstance();
12     }
13 }
14 class Animal{
15     public void feature(){
16         System.out.println("Animal");
17     }
18 }
19 class Pig extends Animal{
20     public void feature(){
21         System.out.println("Pig");
22     }
23 }

2.反射机制

在编译期间并未获得类的详细信息,在运行过程中从网络或者磁盘获得代表类的字节,通过反射机制可以讲字节流转化为对象。

在运行期间获得.class文件。在对象的序列化和JavaBean中有用。

 

 

posted @ 2012-10-30 21:57  梅子毅  阅读(766)  评论(0编辑  收藏  举报