黑马程序员技术交流社区

标题: 类与结构的区别 [打印本页]

作者: 翟盼盼    时间: 2013-3-3 13:53
标题: 类与结构的区别
类与结构的区别,请详细解释
作者: 许正龙    时间: 2013-3-3 14:19
你可以把结构理解成为一棵果树,果树是由树干、树枝、树叶、树根、果实、花朵等元素组成;类则是一个果园,里面有各种各样的果树(类的成员变量),每种果树又自己独特的结构和栽培方法(类的方法);有些果树可以供人参观采摘(公有变量/方法),但是有些不允许采摘(私有变量/方法);
作者: wahaha    时间: 2013-3-3 15:00
结构没有无参构造函数

结构不能被继承

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

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

类在方法运算方面更有优势,在抽象多级别时最佳选择
作者: 黑马-杨鹏立    时间: 2013-3-3 16:45
类是引用类型在堆上分配,类有构造和析构函数,类可以继承和被继承

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

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

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

作者: 康晓璞    时间: 2013-3-3 22:19
这篇帖子详细讨论过类和结构,请参见:
http://bbs.itheima.com/thread-38530-1-1.html

作者: HM张扬    时间: 2013-3-4 14:19
类:
类是引用类型在堆上分配,类的实例进行赋值只是复制了引用,都指向同一段实际对象分配的内存
类有构造和析构函数
类可以继承和被继承
结构:
结构是值类型在栈上分配(虽然栈的访问速度比较堆要快,但栈的资源有限放),结构的赋值将分配产生一个新的对象。
结构没有构造函数,但可以添加。结构没有析构函数
结构不可以继承自另一个结构或被继承,但和类一样可以继承自接口





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