黑马程序员技术交流社区

标题: 类在内存中 [打印本页]

作者: 曹雨    时间: 2014-7-23 15:18
标题: 类在内存中
类是一个静态的概念,类本身不携带任何数据。当没有为类创建任何对象时,类本
身不存在于内存空间中。
还有一个说法,类本身会在内存中占据存储空间,里面有方法列表,无成员变量,
这两个说法哪个对
作者: 滔哥    时间: 2014-7-23 16:03
快速回复...
作者: 天蚕飞    时间: 2014-7-23 16:16
第二个说法对,要不然类方法放哪去
作者: YKS    时间: 2014-7-23 19:35
第一个说法是对的,只有在为类创建对象的时候才会为类分配内存空间
作者: chain    时间: 2014-7-25 12:34
第二种才是对的,首先会加载类对象,为类分配一个存储空间,里面有方法列表,当对象调用方法时,把方法包装成sel根据isa指针去类中找对应的方法,成员变量是在对象中的
作者: homura    时间: 2014-7-25 14:38
第一种是对的吧,定义类是不占用空间;只有当定义类的对象时,系统才会开辟新的内存空间去存放对象
作者: 蔡爽    时间: 2014-7-25 14:54
第一个对
作者: 蔡爽    时间: 2014-7-25 14:56
类和对象的区别

第一个对,因为类和对象的区别:
1,类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义了抽象的属性与行为。就好像“Person(人)”这个类,它虽然可以包含很多个体,但它本身不存在于现实世界上。
2,对象是类的一个具体。它是一个实实在在存在的东西。
3,类是一个静态的概念,类本身不携带任何数据。当没有为类创建任何对象时,类本身不存在于内存空间中。
4,对象是一个动态的概念。每一个对象都存在着有别于其它对象的属于自己的独特的属性和行为。对象的属性可以随着它自己的行为而发生改变。
作者: 温天恩    时间: 2014-7-25 15:05
来占个座。




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