博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# new和初始化
阅读量:7102 次
发布时间:2019-06-28

本文共 736 字,大约阅读时间需要 2 分钟。

虽然知道使用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的情况。

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

转载地址:http://ebchl.baihongyu.com/

你可能感兴趣的文章
Java环境变量设置
查看>>
编译Hadoop的Eclipse插件(hadoop-eclipse-plugin.jar)
查看>>
Jenkins利用Role-based Authorization Strategy插件管理项目权限
查看>>
转载 Android自定义控件
查看>>
JavaScript 的性能优化:加载和执行
查看>>
Oracle数据库的备份与还原【转】
查看>>
openerp7微信支付开发
查看>>
部署Azure Pack -安装Tenant Public API
查看>>
常用开源站点整理
查看>>
Linux服务器性能评估与优化
查看>>
从一个页面请求开始(三)
查看>>
从一个页面请求开始(一)
查看>>
关于nginx限制IP或IP段
查看>>
Linux新手之路 - ls mkdir rmdir rm cp mv 命令
查看>>
Samba服务器笔记
查看>>
单例模式
查看>>
linux网络相关配置
查看>>
他们如何利用微信赚钱
查看>>
安装配置cacti
查看>>
oracle linux6操作系统oracle11.2.0.4数据库从一台主机A(ora11g)到另一台主机B(ora02)的迁移过程...
查看>>