初学者难免有点混淆java中instanceof和getClass()的作用, 下面就来一一讲解. 父类A: class A { } 子类B: class B extends A { } 构造对象 Object o1 = new A(); Object o2 = new B(); 一.instanceof 演示一: 1.o1 instanceof A => true 2.o1 instanceof B => false 3.o2 instanceof A => true
instanceof关键字 instanceof是java中固有的关键字, 就像main, public一样,用法:aa instanceof AA 就是问aa是不是AA的一个实例, 是的话,就返回真.马 克 - t o - w i n:当用instance of测试时,马克-to-win:子类的指针是一个instance of父类, 返回值为真,见以下的例子. 例1.9.2--- class AMark_to_win {}class B {}class AA extends AMark_t
class A { } class B extends A { } Object o1 = new A(); Object o2 = new B(); o1 instanceof A => true o1 instanceof B => false o2 instanceof A => true // <================ HERE o2 instanceof B => true o1.getClass().equals(A.class) => t
在比较一个类和另一个类是否属于同一个类实例的时候,通常可以采用instanceof和getClass两种方法比较两者是否相等来判断,但是两者在判断上面是有差别的,下面通过代码说明: public class Test { public static void testInstanceof(Object x) { System.out.println("x instanceof Parent: "+(x instanceof Parent)); System.out.println(&q