服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

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;

 


扫描关注微信公众号