码迷,mamicode.com
首页 > 编程语言 > 详细

Java中Class类的使用

时间:2017-12-24 15:53:06      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:anti   rgs   动态   except   test   类类型   otf   out   stat   

 1 package classTest;
 2 
 3 /**
 4  * 如何表示类的实例对象,也就是类类型(Class Type),有三种方法,也可以通过类类型来创建类的对象实例
 5  * @author Wang
 6  *
 7  */
 8 public class ClassDemo1 {
 9     public static void main(String[] args) {
10         
11         // Foo的实例对象如何表示,foo1就表示出来了
12         Foo foo1 = new Foo();
13         
14         // Foo这个类 也是一个实例对象,Class类的实例对象,如何表示呢,任何一个类都是Class的实例对象,这个实例对象有三种表示方式
15         // 第一种表示方式--->实际在告诉我们任何一个类都有一个隐含的静态成员变量class
16         Class c1 = Foo.class;
17 
18         // 第二种表示方式--->已经知道该类的对象通过getClass方法
19         Class c2 = foo1.getClass();
20 
21         // 第三种表达方式--->通过Class.forName方法动态加载类
22         Class c3 = null;
23         try {
24             c3 = Class.forName("com.imooc.reflect.Foo");
25         } catch (ClassNotFoundException e) {
26             // TODO Auto-generated catch block
27             e.printStackTrace();
28         }
29 
30         /*
31          * 官网 c1 ,c2 表示了Foo类的类类型(class type) 万事万物皆对象, 类也是对象,是Class类的实例对象
32          * 这个对象我们称为该类的类类型
33          */
34         
35         // 不管c1 or c2都代表了Foo类的类类型,一个类只可能是Class类的一个实例对象
36         System.out.println(c1 == c2);
37 
38         System.out.println(c2 == c3);
39 
40         // 我们完全可以通过类的类类型创建该类的对象实例---->通过c1 or c2 or c3创建Foo的实例对象
41         try {
42             // 需要有无参数的构造方法
43             Foo foo = (Foo) c1.newInstance();
44             foo.print();
45         } catch (InstantiationException e) {
46             // TODO Auto-generated catch block
47             e.printStackTrace();
48         } catch (IllegalAccessException e) {
49             // TODO Auto-generated catch block
50             e.printStackTrace();
51         }
52 
53     }
54 }
55 
56 class Foo {
57 
58     void print() {
59         System.out.println("foo");
60     }
61 }

 

Java中Class类的使用

标签:anti   rgs   动态   except   test   类类型   otf   out   stat   

原文地址:http://www.cnblogs.com/wjf0/p/8098080.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!