如果要通过一个对象找到一个类的名称,此时就需要用到反射机制。
任何一个类如果没有明确地声明继承自哪个父类的时候,则默认继承Object类,所以getClass()方法是Object类中的。
//=================================================
// File Name : GetClass_demo
//------------------------------------------------------------------------------
// Author : Common
// 类名:Y
// 属性:
// 方法:
class Y{
}
//主类
//Function : GetClass_demo;
public class GetClass_demo {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Y y = new Y();
System.out.println(y.getClass().getName());
}
}

实例化Class类对象
//=================================================
// File Name : GetClass_demo
//------------------------------------------------------------------------------
// Author : Common
// 类名:Y
// 属性:
// 方法:
class Y{
}
//主类
//Function : GetClass_demo;
public class GetClass_demo {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Class<?> c1 = null;
Class<?> c2 = null;
Class<?> c3 = null;
try{
c1 = Class.forName("Y"); //通过forName()方法实例化对象
}catch(ClassNotFoundException e){
e.printStackTrace();
}
c2 = new Y().getClass(); //通过Object类中的方法实例
c3 = Y.class; //通过类.class实例化
System.out.println("类名称"+c1.getName());
System.out.println("类名称"+c2.getName());
System.out.println("类名称"+c3.getName());
}
}
原文:http://www.cnblogs.com/tonglin0325/p/5292606.html