Class.getClass().toString();
Class.getClass().getName();
Class.toString();=Class.getClass().getName()@HashCode();
例:String nm = b.getClass().toString();
System.out.println(nm); //class javax.swing.border.CompoundBorder
nm=b.getClass().getName();
System.out.println(nm); //javax.swing.border.CompoundBorder
nm=b.toString();
System.out.println(nm); //javax.swing.border.CompoundBorder@47b480
System.out.println(nm); //class javax.swing.border.CompoundBorder
nm=b.getClass().getName();
System.out.println(nm); //javax.swing.border.CompoundBorder
nm=b.toString();
System.out.println(nm); //javax.swing.border.CompoundBorder@47b480
JAVA的运行时机制
Class与class都继承自Object,class实体来代表java运行时的class和interface等等,
Class.class就是得到或者生成这个Class类的Class Object;
而.getClass()本就是返回一个类对应的Class Object ,
所以Class.class.getClass()最后还是返回Class Object
总结如下(转):
Class类是为了保存JAVA虚拟机运行时(RTTI)对所有对象进行类型识别的信息而设立的.
当然Class也是继承自Object类的,每个类都有Class对象,想得到一个类的Class对象共有三种方法.
1: 调用getClass()
Employee emp;
Class cls=emp.getClass();
2: 静态方法forName(String )
String className="Employee";
Class cls=Class.forName(className);
3: class成员变量法
Class cls=Employee.class;
当然Class也是继承自Object类的,每个类都有Class对象,想得到一个类的Class对象共有三种方法.
1: 调用getClass()
Employee emp;
Class cls=emp.getClass();
2: 静态方法forName(String )
String className="Employee";
Class cls=Class.forName(className);
3: class成员变量法
Class cls=Employee.class;
Class.class.getClass()的意思应该很清楚了
Class.class返回一个Class类的Class对象,
在调用getClass()又一次返回Class的对象。