.class和.getClass()的区别】的更多相关文章

一.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…
判断两个对象是否为同一类型,时常用到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().…
在比较一个类是否和另一个类属于同一个类实例的时候,我们通常可以采用instanceof和getClass两种方法通过两者是否相等来判断,但是两者在判断上面是有差别的,下面从代码中看看区别: public class Test { public static void testInstanceof(Object x) { System.out.println("x instanceof Parent:  "+(x instanceof Parent)); System.out.print…
判断两个对象是否为同一类型,时常用到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…
1.出现的时期不同:Class.forName()在运行时加载:Class.class和getClass()是在编译器加载2.Class.class只是在编译时用来存放类的相关信息,并没有实例化对象:而getClass()既实例化了对象,又存放了类信息3.例:   Test t=new Test();   Class c=t.getClass();      Class c=Class.class; Class c=Class.forName("Test"); package com.…
类名.class叫做"类字面量",因class是关键字, 所以类名.class编译时确定. getclass()运行时根据实际实例确定,getClass()是动态而且是final的.String.class 是能对类名的引用取得在内存中该类型class对象的引用, new String().getClass() 是通过实例对象取得在内存中该实际类型class对象的引用. 它们和Class.forName():     (http://www.cnblogs.com/feiyun126/…
在比较一个类和另一个类是否属于同一个类实例的时候,通常可以采用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…