Monday, August 29, 2011

Javaのinstanceof判定

[Test Code]

  1. class a {  
  2.     a() {  
  3.     }  
  4.     String getname() {  
  5.         return "this is a.";  
  6.     }  
  7. }  
  8. class b extends a {  
  9.     b() {  
  10.         super();  
  11.     }  
  12.     String getname() {  
  13.         return super.getname()+"but this is also b";  
  14.     }  
  15. }  
  16. Class<!-- extends a--> bclazz = b.class;  
  17. a bx = new a();  
  18. try {  
  19.     bx = bclazz.newInstance();  
  20. catch (IllegalAccessException e) {  
  21.     e.printStackTrace();  
  22. catch (InstantiationException e) {  
  23.     e.printStackTrace();  
  24. }  
  25. if(bx instanceof b)  
  26.     Log.w("Test""this is instanceof b");  
  27. if(bx instanceof a)  
  28.     Log.w("Test""this is instanceof a");  
  29. Log.w("Test", bx.getname());  

[Result]


08-29 09:41:31.314: WARN/Test(14370): this is instanceof b
08-29 09:41:31.314: WARN/Test(14370): this is instanceof a
08-29 09:41:31.314: WARN/Test(14370): this is a.but this is also b

No comments:

Post a Comment