在正常情况下,必须知道一个类的完整路径之后才可以实例化对象,但是在java中也允许通过一个对象来找到其所在类的信息,那么这实际上就是Class类的功能。
package org.lxh.demo15.getclassdemo ; class X{ }; public class GetClassDemo01{ public static void main(String args[]){ X x = new X() ; // 实例化X类的对象 System.out.println(x.getClass().getName()) ; // 得到对象所在的类 } };
Object类的支持
Class类:
没有任何的构造方法,因为此类的构造方法被私有化了。
package org.lxh.demo15.getclassdemo ; class X{ }; public class GetClassDemo02{ public static void main(String args[]){ Class<?> c1 = null ; // 指定泛型 Class<?> c2 = null ; // 指定泛型 Class<?> c3 = null ; // 指定泛型 try{ // 以下的操作形式是在开发中最常用的一种形式 c1 = Class.forName("org.lxh.demo15.getclassdemo.X") ; }catch(ClassNotFoundException e){ e.printStackTrace() ; } c2 = new X().getClass() ; // 通过Object类中的方法实例化 c3 = X.class ; // 通过类.class实例化 System.out.println("类名称:" + c1.getName()) ; // 得到类的名称 System.out.println("类名称:" + c2.getName()) ; // 得到类的名称 System.out.println("类名称:" + c3.getName()) ; // 得到类的名称 } };
时间: 2024-11-16 19:03:08