C# new和初始化

摘要:
3.声明变量与空赋值变量或新调用变量之间的差异。2.要在开发的控件中创建对象,我个人理解创建对象是将字段存储在内存空间中,但字段仍然没有用于数据存储的内存空间方向。所有字段都已分配,存储在内存中的是相应的实际值。空表示我没有专门使用它们。三、 声明的变量与分配给null的变量或调用new的变量之间的差异。它主要区分函数中的变量和对象中的字段。提示“使用未分配的变量”。

虽然知道使用new可以创建对象,但一直不是很理解初始化和new等知识的具体。

通过8个问题和需求,了解相关知识。

了解问题和需求

1.new 的三个步骤

2.初始化是什么意思。

3.变量声明后和变量赋值为null或变量调用了new的区别。

4.字段不是变量。

一、new的三个步骤:

1 在栈或者堆中开辟空间,空间的大小由类决定,进行内存空间指向。

2 在开辟的控件中进行创建对象

个人理解创建对象就是,在内存空间中存放字段,但是字段依然没有进行数据存放的内存空间指向,虽然这个对象在内存中占了空间,但是没有进行具体分配。

3 进行初始化。

二、初始化:

初始化就是调用构造函数,对所有的字段进行赋值,赋值为默认值。

引用类型为null。

值类型int为0,double为0.0。

个人理解:让字段具有默认值后,进行了空间的分配,内存中存储的就是对应的实际值,null表示我没有进行具体的使用,但是我有存储数据的空间。

三、变量声明后和变量赋值为null或变量调用了new的区别。

主要区分函数中的变量和对象中的字段的区别。

3.1变量声明后,没有进行赋值的含义:

声明未赋值,会无法生成,提示‘使用了未赋值的变量’。

通过Reflecter可以看到,声明变量未赋值,实际是不存在的,那么就是说没有进行分配内存。

3.2变量赋值为null

表明变量具有内存空间,但是内存中什么也不存在。

3.3变量调用new

变量中存在了对象也就是存在了字段,只是字段进行了赋值,赋值为默认值。

四、字段不是变量。

通过3和4感受一下变量和字段的区别。

变量存在函数中,字段是类的成员。

类中函数调用字段或者对应的属性,只会出现为null的情况。

类中函数声明变量,会出现无法编译的情况。

免责声明:文章转载自《C# new和初始化》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇阿里开源 Dragonwell JDK 重磅发布 GA 版本:生产环境可用SVG DOM常用属性和方法介绍下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

R语言中的特殊值 NA NULL NaN Inf

这几个都是R语言中的特殊值,都是R的保留字, NA:Not available  表示缺失值   用 is.na() 来判断是否为缺失值 NULL:表示空值,即没有内容  用 is.null() 来判断是否为空值 NaN:Not a Number,表示非数值   用 is.nan() 来判断是否为非数值 Inf:Infinite 表示无穷大  用 is.f...

临时表与表变量深入探究

临时表或表变量我们一般用来充当中间结果集,很多时候都在用,但真正了解他们之间的区别的人还是很少的,网上流传的说法也不甚统一,所以今天我就做一个实验,让我们看看临时表和表变量的区别,以及他们各自的用途。 执行以下语句,对测试环境做准备 DBCC DROPCLEANBUFFERS --从缓冲池中删除所有清除缓冲区 DBCC FREEPROCCACHE...

由SpringMVC中RequetContextListener说起

零、引言 RequetContextListener从名字结尾Listener来看就知道属于监听器。 所谓监听器就是监听某种动作,在其开始(初始化)和结束(销毁)的时候进行某些操作。 由此可以猜测:该类用于在RequetContext(请求上下文对象)创建和销毁的时候进行某些操作(哪些操作?结尾总结!) 一、web.xml配置要使用该listener对象...

jenkins邮件-使用变量定制化html邮件报告

jenkins当中邮件插件: Email Extension Plugin jenkins基本使用和邮件配置请参考测试派文章:http://testingpai.com/article/1609225132204 本文着重来讲解: 1)在邮件正文当中,引用邮件插件提供的变量 2)自定义邮件正文的html模板。 最终要达到的效果为: 第一步:查看Email...

GDB调试器

/*this project used for gdb debug c programs*//*At first,using compile command turn out the executable file. exp: gcc -g sourcefile.c -o test.exe */        //!!!/*windows: start g...

IVR交互式语音应答系统

ZingServ平台IVR子系统介绍 IVR系统的中文译名为"交互式语音应答系统",然而,真正的IVR系统早已超出这种中文译名所描述的功能范围--IVR是一种功能强大的电话自动服务系统。对用户来说,只有理解了这一点,才能真正了解IVR系统的价值;而对产品提供商来说,也只有理解了这一点,才能真正明确产品的应用范围和设计目标。  在ZingServ一体化呼叫中...