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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 翟盼盼 高级黑马   /  2013-3-3 13:53  /  1300 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

类与结构的区别,请详细解释

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

5 个回复

倒序浏览
你可以把结构理解成为一棵果树,果树是由树干、树枝、树叶、树根、果实、花朵等元素组成;类则是一个果园,里面有各种各样的果树(类的成员变量),每种果树又自己独特的结构和栽培方法(类的方法);有些果树可以供人参观采摘(公有变量/方法),但是有些不允许采摘(私有变量/方法);

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
结构没有无参构造函数

结构不能被继承

结构是值类型,而类是引用类型

结构在数据参数方面效率更高,简单数组的应用中成本很低

类在方法运算方面更有优势,在抽象多级别时最佳选择

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
类是引用类型在堆上分配,类有构造和析构函数,类可以继承和被继承

结构是值类型在栈上分配,结构的赋值将分配产生一个新的对象。

结构没有构造函数,但可以添加。结构没有析构函数

结构不可以继承自另一个结构或被继承,但和类一样可以继承自接口。

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
这篇帖子详细讨论过类和结构,请参见:
http://bbs.itheima.com/thread-38530-1-1.html

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
类:
类是引用类型在堆上分配,类的实例进行赋值只是复制了引用,都指向同一段实际对象分配的内存
类有构造和析构函数
类可以继承和被继承
结构:
结构是值类型在栈上分配(虽然栈的访问速度比较堆要快,但栈的资源有限放),结构的赋值将分配产生一个新的对象。
结构没有构造函数,但可以添加。结构没有析构函数
结构不可以继承自另一个结构或被继承,但和类一样可以继承自接口
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马