9.2认识Class类下面通过一个案例演示Class类的3种实例化方式。具体代码如下所示。案例演示classAlclass Example01fpublic staticvoid main(String args)//声明Class对象c1Class<?>cl=null;Class<?>c2 =null//声明Class对象c2Class<?>c3=null;//声明Class对象c3trytc1=Class.forName(com.itheima.A)://通过第(1)种方式实例化c1对象catch(ClassNotFoundExceptione)e.printStackTraceO;c2=newA0.getClass0);1/通过第(2)种方式实例化c2对象c3=A.class;//通过第(3)种方式实例化c3对象System.out.println("类名称:"+c1.getName0);System.out.println(类名称:+c2.getNameO);System.out.println(类名称:"+c3.getNameO);yx.ityxb.com
yx.ityxb.com 9.2 认识Class类 案例演示 下面通过一个案例演示Class类的3种实例化方式。具体代码如下所示。 class A{ } class Example01 { public static void main(String args[]){ Class<?> c1 = null; //声明Class对象c1 Class<?> c2 = null; //声明Class对象c2 Class<?> c3 = null; //声明Class对象c3 try{ c1 = Class.forName("com.itheima.A");//通过第(1)种方式实例化c1对象 }catch(ClassNotFoundException e){ e.printStackTrace(); } c2 = new A().getClass(); //通过第(2)种方式实例化c2对象 c3 = A.class; //通过第(3)种方式实例化c3对象 System.out.println("类名称:"+c1.getName()); System.out.println("类名称:"+c2.getName()); System.out.println("类名称:"+c3.getName()); } }
9.2认识Class类运行代码,控制台显示的运行结果如下图所示。案例运行结果Run:Example01."c:\Program FileslJavaljdk-11.o.11lbinljava.exe"类名称:com.itheima.A类名称:com.itheima.A类名称:com.itheima.AProcess finished with exit code eyx.ityxb.com
yx.ityxb.com 案例运行结果 9.2 认识Class类 运行代码,控制台显示的运行结果如下图所示
9.2认识Class类案例运行结果分析从上图可以看出,3种实例化Class对象的结果是一样的,但是类名.class是/VM使用类装载器,将类装入内存(如果类还没有装入内存),不做类的初始化工作,返回Class的对象;Class.forName("类名字符串")会进行类的静态初始化,返回Class的对象;实例对象.getClassO返回实例对象运行时所属的类的Class的对象。yx.ityxb.com
yx.ityxb.com 案例运行结果分析 从上图可以看出,3种实例化Class对象的结果是一样的,但是类名.class是JVM使 用类装载器,将类装入内存(如果类还没有装入内存),不做类的初始化工作,返回 Class的对象;Class.forName("类名字符串")会进行类的静态初始化,返回Class 的对象;实例对象.getClass()返回实例对象运行时所属的类的Class的对象。 9.2 认识Class类
尊+9.3Class类的使用
9.3 Class类的使用
9.3.1通过无参构造方法实例化对象先定一个小目标!熟悉通过无参构造方法实例化对象yx.ityxb.com
yx.ityxb.com 9.3.1 通过无参构造方法实例化对象 先定一个小 目标! 熟悉通过无参构造方法实例化对象