[Java] instanceof关键字

Java的instance关键字可以实现"运行时类型识别"(Run-time type identification, RTTI),也就是说可以通过instanceof关键字判断某个对象是否时没个类的实例,例如:

class ClassA {
 ClassA() {
 }
}

class ClassB {
 ClassB() {
 }
}

public class MyInstanceOf {
 public static void main(String[] args) {
  sayClass(new ClassA());
  sayClass(new ClassB());
 }

 public static void sayClass(Object o) {
  if (o instanceof ClassA)
   System.out.println("This is ClassA");
  if (o instanceof ClassB)
   System.out.println("This is ClassB");
 }
}

输出结果:

This is ClassA
This is ClassB

通过instanceof关键字就可将Extened Class中一些差异极小的方法放在Base Class中实现,进而实现代码精简和整洁.但不可滥用,在多数情况下我们可以通过多态(Polymorphism)实现相同的功能.

你可能感兴趣的:(J2SE)