C#基础 1(异同与区别及其特点)

一.值类型与引用类型的主要区别

  1.值类型分配在栈上,引用类型分配在堆上

  2.值类型继承自ValueType,引用类型不会继承自ValueType

  3.值类型变量包含实例数据,而引用类型变量,保存了其数据的引用地址

  4.值类型不由GC(垃圾回收机制)管理,自动释放效率比引用类型高

  5.值类型不能被继承,而引用类型可以

  6.值类型不能为null,自动初始化为0,而引用类型默认为null

二.结构和类的区别

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

  2.结构不能从另外一个结构或类继承,并且不能被继承

  3.结构没有默认的构造函数,但是可以手动添加构造函数,类有默认的构造函数

  4.结构没有析构结构,而类有析构函数

  5.结构可以不使用new关键字,而类必须使用new关键字

三.泛型集合与非泛型集合的异同

  1.泛型集合可以对所保存的元素进行类型约束,而非泛型集合可以增加任何类型的元素

  2.泛型集合添加读取值类型元素时无需装箱和拆箱,而非泛型集合添加读取值类型元素时则需要装箱和拆箱

四.构造函数的特点

  1.方法名称与类名相同

  2.没有返回值类型

  3.主要完成对象的初始化工作

五.构造函数与析构函数的区别       1.构造函数和析构函数是在类体中说明的两种特殊的成员函数。       2.构造函数的功能是在创建对象时,使用给定的值来将对象初始化。       3.析构函数的功能是用来释放一个对象的。在对象删除前,用它来做一些清理工作,它与构造函数的功能正好相反。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java技术栈

Java集合从菜鸟到大神演变

先来看一张集合概况图,这里从上到下列举了几个最经常用的集合 ? 1、集合接口 java.util.Collection 是一个集合接口。它提供了对集合对象进行基...

4056
来自专栏Script Boy (CN-SIMO)

Java之继承、抽象类、接口篇

一、继承(extends) 什么是继承? 继承是对现实生活中的"分类"概念的一种模拟。 狮子拥有动物的一切基本特性,但同时又拥有自己的独特的特性,这就是"...

1960
来自专栏Python爱好者

Java基础笔记16

1155
来自专栏Java 源码分析

Java面向对象基础(二)

1.构造器: 构造函数在一个类没有写任何的构造函数的时候,系统会生成一个默认的空参数构造函数,这个构造函数的修饰符就是类的修饰符,当我们定义了一个构造函数,默认...

3247
来自专栏杨熹的专栏

Day 2-Java-imooc-9-继承

课程地址:http://www.imooc.com/learn/124 总结图片来自 http://www.imooc.com/article/10715 ?...

2688
来自专栏日常分享

数组、List和ArrayList的区别

 有些知识点可能平时一直在使用,不过实际开发中我们可能只是知其然不知其所以然,所以经常的总结会对我们的提高和进步有很大的帮助,这里记录自己在工作之余的问题,持续...

912
来自专栏Java开发者杂谈

Ruby(3):基本语法中

字符串分割成数组: 可以使用先scan再join的方法,当然其实有更好的 split方法,专门用来分割字符串 1 # 在Ruby中,如果不使用inspect...

34715
来自专栏奔跑的蛙牛技术博客

java基本程序设计

保护对象实例域,提供黑盒的概念保护数据域的安全,体现了面向对象思想。数据>算法的思想

702
来自专栏java一日一条

ava enum(枚举)使用详解 + 总结

enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中。

713
来自专栏赵俊的Java专栏

从源码上分析 LinkedList(附图)

1515

扫码关注云+社区