|
“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;
|