美文网首页
class对象

class对象

作者: 扎Zn了老Fe | 来源:发表于2018-12-23 00:34 被阅读0次

class对象是由编译器编译java文件生成的字节码,里面保存了对象的信息。当程序运行需要此类时,加载器首先改类的class对象是否已经加载。如果尚未加载,默认的类加载器就会根据类名查找.class文件。与其他程序比如C++不同,java运行时并非所有类都被加载,是按需加载的方式。

Class类也是类的一种,与class关键字是不一样的,是一个实实在在的类,存在于JDK的java.lang包中。
每个通过关键字class标识的类,在内存中有且只有一个与之对应的Class对象来描述其类型信息,无论创建多少个实例对象,其依据的都是用一个Class对象。
Class类只存私有构造函数,因此对应Class对象只能有JVM创建和加载
Class类的对象作用是运行时提供或获得某个对象的类型信息,这点对于反射技术很重要。
获取对象方法
forName:forName方法是Class类的一个static成员方法,将会返回一个对应类的Class对象,因此如果我们想获取一个类的运行时类型信息并加以使用时,可以调用Class.forName()方法获取Class对象的引用,这样做的好处是无需通过持有该类的实例对象引用而去获取Class对象。
getClass:getClass()是从顶级类Object继承而来的,它将返回表示该对象的实际类型的Class对象引用。
字面型常量Class:通过字面型常量也可以获取到class对象,它在编译器就会受到编译器的检查,相对前两种方法更加安全。通过字面型常量获取Class对象的实际类型的Class对象引用并不会进行初始化的过程。
instanceof 关键字与isInstance方法:这两个方法是等价的,用来判断对象是不是某个特定的类型实例。

相关文章

  • ★12.类型信息

    Class 每个类都有Class对象。 获取Class对象的方式有:类名.class对象.getClass()Cl...

  • OC对象的分类

    instance(实例对象)instance class(类对象)class meta-class(元类对象)me...

  • oc对象的种类

    oc对象:instance对象,class对象,meta-class 对象 instance对象 isa 其他成员...

  • 02 OC对象的分类

    instance对象(实例对象) class对象 (类对象) meta-class对象 (元类对象) instan...

  • 02.Objective-C 对象的分类

    问题 Objective-C对象分类 整么获取到class对象,整么获取到meta-class对象 class对象...

  • OC对象的分类

    OC对象主要分为3种: instance对象(实例对象) class对象 (类对象) meta-class对象 (...

  • OC 对象的种类

    分类 instance 对象(实例对象) class 对象(类对象) meta-class 对象 (元类对象) i...

  • java 泛型方法的两种写法

    这种需要传入 类名.class(class对象)(java有两类对象,Class对象和实例对象。更多参考Java的...

  • oc对象内存布局

    OC对象分为3种: instance对象(实例对象) class对象(类对象) meta-class对象(元类对象...

  • OC对象学习(实例对象、类对象、元类对象)

    1).OC对象分类: 实例对象(Instance对象) 类对象(Class对象) 元类对象(Meta-class对...

网友评论

      本文标题:class对象

      本文链接:https://www.haomeiwen.com/subject/donwkqtx.html