“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;
闽公网安备 35060202000074号