黑马程序员技术交流社区

标题: 对象、类、Class、与字节码到底什么关系?? [打印本页]

作者: 匿名    时间: 2011-9-29 22:34
我觉得是这样的
一个class经过编译之后会生成这个class的字节码  ,也就是Class 所以字节码就是Class
而class经过实例化后生成一个对象...就是人类和和你的关系一样..(这个应该知道吧)
作者: 匿名    时间: 2011-9-30 00:22
Class是一个类啊,Class类代表Java类,它(Class类)的各个实例对象分别对应各个类在内存中的字节码。
类加载进内存里面的时候,其实就是字节码文件,所以这个你明白了吧,类加载过以后,你用new将类实例化成了一个具体的东西,就比如说类是图纸的话,小汽车就是对象,类里面有小汽车必须的结构,特征,以及使用方法,不是么,我用类做出来了对象,你可以这样理解类和对象的关系,所以现在这样总结一下比较合适吧,对象是小汽车,小汽车是用图纸做出来的,这个图纸就是类,我不知道将字节码文件比作是做小汽车的零件是否合适,如果将字节码比作是零件的话,这些个零件放在一起就属于Class的对象,明白么,?Class也是一个类,也是有对象的,这个可能比较难理解,你多看两遍张老师高新视频上讲这个地方的那几个就明白了吧,
作者: 匿名    时间: 2011-9-30 15:44
在java中 类是描述事物的!比如说人,那么人有年龄 姓名  吃饭 等等属性!一切都是对象 虽然没几个字 但理解起来不容易
对象的前提是类已存在,对象的创建时根据构造函数决定的!通俗的讲 对象是类的具体化,类是对象的抽象化!比如说车,哪我们知道车有很多类型  有汽车 自行车等等!那么当我们说车 可能有人问是什么车,就会感觉别人就说一个车字,心里就很纳闷,觉的很抽象,那么车就是一个类,那么说汽车就是我们具体的对象了,
Class其实就是一个类 ,不要把它理解很复杂,比如当我们写了一个类是person,编译时会生成person.class文件,java虚拟机运行就是这个class文件,那么我们把这个在内存中的class文件就叫做字节码,通过一些方法 我们可以得到这个字节码 那么用什么类来表示这个字节码呢??因为java是面向对象的,所以就用一个类来代表,就是Class类了,如果不理解的话 可以先去学下类是怎么被加载到内存中?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2