结构和类有什么异同


Posted in 面试题 onJuly 16, 2012
类是引用类型,可以继承类、接口和被继承,有默认的构造函数,有析构函数,可以使用abstract和sealed,有protected修饰符,必须使用new初始化。
结构是值类型,只能继承接口,不能被继承,没有默认的构造函数,可以创建,没有析构函数,不可以用abstract和sealed,没有protected修饰符,可以不用new初始化。
如何选择使用结构还是类:
a)堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些
b)结构表示如点、矩形和颜色这样的轻量对象,例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。
c)在表现抽象和多级别的对象层次时,类是最好的选择
d)大多数情况下该类型只是一些数据时,结构是最佳的选择

Tags in this post...

面试题 相关文章推荐
如何强制垃圾回收
Oct 06 面试题
会话Bean的种类
Nov 07 面试题
Eclipse面试题
Mar 22 面试题
String这个类型的class为何定义成final?
Nov 13 面试题
如何打开WebSphere远程debug
Oct 10 面试题
JSF面试题:Jsf中的核心类用那些?有什么作用?LiftCycle六大生命周期是什么?
Jul 17 面试题
Oracle的内存结构(Memory structures)
Jun 10 面试题
Linux操作面试题
Feb 11 面试题
你所在的项目是如何确定版本号的
Dec 28 面试题
Static Nested Class 和 Inner Class的不同
Nov 28 面试题
Java面试题:说出如下代码的执行结果
Oct 30 面试题
与C++相比,Java中的数组有什么不同
Mar 25 面试题
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
Sep 29 #面试题
.NET初级开发工程师面试题(包括Javascript)
Aug 22 #面试题
什么是Smart Navigation?
Jul 03 #面试题
.NET概念性的面试题
Feb 29 #面试题
什么是View State?
Jan 27 #面试题
面向对象概念面试题(.NET)
Nov 04 #面试题
.NET面试问题集
Dec 08 #面试题
You might like
亚洲咖啡有什么?亚洲咖啡产地介绍 亚洲咖啡有什么特点?
2021/03/05 新手入门
PHP.MVC的模板标签系统(二)
2006/09/05 PHP
PHP脚本的10个技巧(7)
2006/10/09 PHP
兼容性最强的PHP生成缩略图的函数代码(修改版)
2011/01/18 PHP
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
PHP批量去除BOM头代码分享
2015/06/26 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
2016/07/20 PHP
飞鱼(shqlsl) javascript作品集
2006/12/16 Javascript
Javascript 二维数组
2009/11/26 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
js判断客户端是iOS还是Android等移动终端的方法
2013/12/11 Javascript
Javascript高级技巧分享
2014/02/25 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
2014/10/31 Javascript
JavaScript中的console.profile()函数详细介绍
2014/12/29 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
JS 动态判断PC和手机浏览器实现代码
2016/09/21 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
2016/12/12 Javascript
javascript设计模式之单体模式学习笔记
2017/02/15 Javascript
浅谈jquery拼接字符串效率比较高的方法
2017/02/22 Javascript
ES6 Class中实现私有属性的一些方法总结
2019/07/08 Javascript
微信公众号H5之微信分享常见错误和问题(小结)
2019/11/14 Javascript
vue 检测用户上传图片宽高的方法
2020/02/06 Javascript
Python 实现使用dict 创建二维数据、DataFrame
2018/04/13 Python
python之Flask实现简单登录功能的示例代码
2018/12/24 Python
Python实现查找最小的k个数示例【两种解法】
2019/01/08 Python
执行Django数据迁移时报 1091错误及解决方法
2019/10/14 Python
解决TensorFlow GPU版出现OOM错误的问题
2020/02/03 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
python中threading和queue库实现多线程编程
2021/02/06 Python
CSS3动画:5种预载动画效果实例
2017/04/05 HTML / CSS
毕业生求职推荐信
2013/11/04 职场文书
四风问题自查报告剖析材料
2014/02/08 职场文书
根叔历年演讲稿
2014/05/20 职场文书
商务邀请函
2015/01/30 职场文书
Mysql事务索引知识汇总
2022/03/17 MySQL