A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

张老师说:Java程序中的各个Java类属于同一类事物,描述这类事物的Java类名就是Class。
但是又有不少人说描述java类加载在内存中的字节码,但是从反射(就是把Java类中的各种成分映射成相应的java类)的概念来看,应该是描述java的类。如果理解成“描述java类加载在内存中的字节码”, 可以基本的 Java 类型(boolean、byte、等等) 是Class 对象,但是回头一想,它们同时也是关键字,那不是所以的关键字是Class对象?

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

2 个回复

倒序浏览
java类本来就是抽象的,抽象的东西是没有实体的。当用Class类来描述java类,这时的java类相对于Class类来说,是它的实体对象。是对象就应该是一个实际存在的东西在程序中的映射,但是java类本生是抽象的东西,我们怎样把一个抽象的东西变成一个在计算机中实际存在的对象呢?我们用java类在内存中的字节码来代替java类作为Class的实例对象,因为java类的字节码在内存中是确实存在的(一个类被类加载器加载到内存中,占用一片存储空间,这个空间里面的内容就是类的字节码,不同的类的字节码是不同的,所以它们在内存中的内容是不同的,这一个个的空间可分别用一个个的对象来表示,这些对象显然具有相同的类型,这说明字节码可以被一个类来描述,同时内存中的各个字节码可以成为该类的对象),java类的内容是以字节码的形式在内存中的,它拥有java类在程序中的所有功能,或者说java类在程序中的功能都是通过它实现的,比如new对象,所有它能代替它的类成为Class的对象。
回复 使用道具 举报
JAVA都是由class组成的,而且我们写的每代码也是生成class后才能被运行,所以认为这是一个环环相扣的过程,但是JDK所生成的文件是在调用计算机底层的东西 ,我们只在这个平台上运行。class里包括所有class文件的共性内容,你像你说的。每个class文件都具有的共性也全部装在了一个类中。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马