JAVA语言中Class类对象实例的获取方法

来源:互联网 发布:mac看不了acfun 编辑:程序博客网 时间:2024/04/28 02:06
[摘要] 众所周知Java有个Object 类,是所有Java classes的继承根源,其内声明了数个应该在所有Java class中被改写的methods:hashCode()、equals()、clone()、toString()、getClass()等。
[关键字] JAVA Class
  “Class”类 

  众所周知Java有个Object 类,是所有Java classes的继承根源,其内声明了数个应该在所有Java class中被改写的methods:hashCode()、equals()、clone()、toString()、getClass()等。其中getClass()返回一个Class object。 

  Class class十分特殊。它和一般classes一样继承自Object,其实体用以表达Java程序运行时的classes和interfaces,也用来表达enum、array、primitive Java types(boolean, byte, char, short, int, long, float, double)以及关键词void。当一个class被加载,或当加载器(class loader)的defineClass()被JVM调用,JVM 便自动产生一个Class object。 

  “Class” object的取得途径 

  Java允许我们从多种管道为一个class生成对应的Class object。下图是一份整理。 

  Class object 诞生管道 

  示例 

  运用getClass() 

  注:每个class 都有此函数 

  String str = "abc"; 

  Class c1 = str.getClass(); 

  运用 

  Class.getSuperclass() 

  Button b = new Button(); 

  Class c1 = b.getClass(); 

  Class c2 = c1.getSuperclass(); 

  运用static method 

  Class.forName() 

  (最常被使用) 

  Class c1 = Class.forName ("java.lang.String"); 

  Class c2 = Class.forName ("java.awt.Button"); 

  Class c3 = Class.forName ("java.util.LinkedList$Entry"); 

  Class c4 = Class.forName ("I"); 

  运用 

  .class 语法 

  Class c1 = String.class; 

  Class c2 = java.awt.Button.class; 

  Class c3 = Main.InnerClass.class; 

  Class c4 = int.class; 

  Class c5 = int[].class; 

  运用 

  primitive wrapper classes 

  的TYPE 语法 

  Class c1 = Boolean.TYPE; 

  Class c2 = Byte.TYPE; 

  Class c3 = Character.TYPE; 

  Class c4 = Short.TYPE; 

  Class c5 = Integer.TYPE; 

  Class c6 = Long.TYPE; 

  Class c7 = Float.TYPE; 

  Class c8 = Double.TYPE; 

  Class c9 = Void.TYPE;

【责任编辑 陈东方】

关键词: JAVA, Class,
原创粉丝点击