究竟什么样的对象才会是null?
来源:互联网 发布:詹姆斯2016赛季数据 编辑:程序博客网 时间:2024/05/22 02:15
最近工作上事情稍微少一些,闲下来突然想起一个问题:当一个对象为 null时,是他的某一部分属性为null,还是所有属性都为null?我相信有不少人在这里会绕进去,虽然我之前理解过String的null和“”的区别。
其实,比如我要声明一个user对象。如果使用默认的构造方法,那么所有的属性均未赋值(我为了测试,专门写了参数全部为string类型的构造器)。也就是说,Useruser = new User();创建的时候,所有属性均未赋值。判断对象,结果是不为null。
另外,创建全局变量user,判断是否为null,结果是。
不使用new关键字创建的全局变量,只是声明了,但是并没有分配内存空间。所以为null
使用new创建的对象,已经分配了内存空间,只是属性没有赋值。
因此,可以清楚了解,一个对象的属性即使所有属性均未赋值,他依然不为null。
下面在稍微带一下String中null和“”的区别。
String str = "";
String var = null;
其实,同上。空字符串是分配了空间,赋值“”。Null是没有分配空间。这样就很好理解,面试的时候也好解释(面试经典题目之一)。
0 0
- 究竟什么样的对象才会是null?
- 究竟什么样的leader是称职的?
- 究竟应该使用什么样的界面?
- 我们究竟需要什么样的新闻?
- 后备干部,究竟应该提拔什么样的员工?
- 日本那边究竟什么样
- 女人,你究竟想嫁什么样的男人?
- 究竟什么样的网站是一个WEB2.0网站?
- 究竟什么样的网站是一个WEB2.0网站?
- 我们究竟需要他具备什么样的测试思维
- 架构师究竟是个什么样的职业
- 中国户外广告行业究竟需要什么样的大数据?
- java和JavaScript究竟什么关系,有什么样的区别
- 中产族究竟该是什么样?
- JFrame的层次结构究竟是什么样的,什么又是ContentPane
- 软件之路:你究竟想过什么样的生活?–程序员的八种境界
- JFrame的层次结构究竟是什么样的,什么又是ContentPane()
- 传智博客学习总结——究竟什么样的人才适合做老师
- mysql单表数量极限和性能
- ScrollView+Fragment+ListView嵌套ListView,麻麻再也不用担心我不会写嵌套
- iOS开发中,修改了Xcode里面的头文件的解决办法
- linux常用操作命令
- Mysqladmin Mysql 管理工具
- 究竟什么样的对象才会是null?
- PHP 和 Python实现Project Euler 1、2题
- 全文检索数据挖掘
- 创业者需要知道的50句话
- oracle 12c rac gi 安装检测有Node Connectivity Failed报错
- NOIP2014 day2第三题 解方程
- 微博案例
- Hbase 0.94(基于hadoop1)迁移数据到hbase 0.98(基于hadoop2)
- DMA驱动程序设计