instanceof和getClass的区别】的更多相关文章

在比较一个类和另一个类是否属于同一个类实例的时候,通常可以采用instanceof和getClass两种方法比较两者是否相等来判断,但是两者在判断上面是有差别的,下面通过代码说明: public class Test { public static void testInstanceof(Object x) { System.out.println("x instanceof Parent: "+(x instanceof Parent)); System.out.println(&q…
instanceof对比getClass: instanceof 比较的是继承关系或者实现关系的类类型,子类对象或者实现类对象放在前面:而getClass得到的是确切的类型,并不考虑继承,它判断的是引用指向的对象的类型,与声明该变量的类型无关 继承/接口关系:父类和子类的关系,包括从子类到父类的抽象过程,从父类到子类的扩展过程 //父类接口 public interface Fruit { } //子类实现 public class Apple implements Fruit{ } publi…
判断两个对象是否为同一类型,时常用到getclass 和 instanceof ,而这两个函数又是时常让人混淆.下面从一个例子说明两者的区别: public class Test_drive { public static void main(String[] args){ A a = new A(); B b = new B(); System.out.println(b.getClass().equals(A.class)); System.out.println(b.getClass().…
判断两个对象是否为同一类型,时常用到getclass 和 instanceof ,而这两个函数又是时常让人混淆.下面从一个例子说明两者的区别: public class Test_drive { public static void main(String[] args){ A a = new A(); B b = new B(); System.out.println(b.getClass().equals(A.class)); System.out.println(b.getClass().…
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…
初学者难免有点混淆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和getClass两种方法通过两者是否相等来判断,但是两者在判断上面是有差别的,下面从代码中看看区别: public class Test { public static void testInstanceof(Object x) { System.out.println("x instanceof Parent:  "+(x instanceof Parent)); System.out.print…
一.Java的反射机制   每个Java程序执行前都必须经过编译.加载.连接.和初始化这几个阶段,后三个阶段如下图:   其中…
使用指定类初始化日志对象,在日志输出的时候,可以打印出日志信息所在类 如: getClass() 返回此 Object 的运行时类. //需要有com.lpx.test.class这个类 Logger logger = LoggerFactory.getLogger(com.lpx.test.class); logger.debug("日志信息"); //获取当前类的信息 Logger logger = LoggerFactory.getLogger(get.class()); log…
一.instanceof 关键字 instanceof 关键字用于判断某个实例是否是某个类的实例化对象,形如: String.class instanceof Class "test" instanceof String 二.isInstance()方法 isInstance是Class类中的方法,也是用于判断某个实例是否是某个类的实例化对象,但是指向则相反. 但这样就带来一个疑问,为什么我们需要这个方法呢,官方文档如此解释: Determines if the specified O…