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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李晓泉 中级黑马   /  2013-3-4 17:50  /  1175 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

RT,结构和类的区别

评分

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

查看全部评分

4 个回复

倒序浏览
1. Class可以被实例化,属于引用类型,是分配在内存的堆上的。类是引用传递的。
2. Struct属于值类型,是分配在内存的栈上的。结构体是复制传递的。

评分

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

查看全部评分

回复 使用道具 举报
结构和类都可以有构造函数,当在类中不写构造函数的时候,会默认的调用类的无参数的构造函数,当写了新的构造函数后,
原来类里面默认的无参数的构造函数就被干掉了

结构里也有一个无参数的构造函数,当写了一个新的构造函数的时候,无参的构造函数还在。

评分

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

查看全部评分

回复 使用道具 举报
两个不同的概念  一个是被class修饰的  属于引用类型  调用的时候需要实例名 . 方法名 或者类名  .  方法名  就想二楼说的一样 是在堆上的
而结构则是值类型  是被struct修饰  
结构本身就有一个无参数的构造函数 就算建立一个新的构造函数 无参的还在
而类则不一样 建立一个新的构造函数以后 默认无参的构造函数就被干掉了

评分

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

查看全部评分

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

评分

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

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马