如果要通过一个对象找到一个类的名称,此时就需要用到反射机制。
任何一个类如果没有明确地声明继承自哪个父类的时候,则默认继承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