JAVA基础:Object o 与 Object o = null 的区别
来源:互联网 发布:为什么电信4g网络很慢 编辑:程序博客网 时间:2024/05/17 22:56
请帮我详细说下这两者究竟干了些什么事。以及他们的区别。谢谢:)
Object o;
Object o = null;
Object o;
Object o = null;
如果可以,请再详细说下null究竟是个什么东西,在内存里是如何存在的?
Object o; 这种写法只是分配一个引用而已。Object o = null; 这么写则是给引用指向了一个空对象。具体差别如下:class Test { public static void main(String[] args) { Object o1; o1.toString(); /*这里编译不能通过,编译器只认定o1是个引用,没指向任何对象,所以不能调用方法。*/ Object o2 = null; o2.toString(); /*这里编译可以过,但是有空指针异常,编译器认定o2是一个对象,虽然是一个空对象。*/ }}一个是给一个不存在的人取名字,一个是给死人取名字。你叫不存在的人吃饭这个是谬论,叫死人吃饭则是忽悠。 null对象是一个特殊的对象,他可以是任何类型。他只是作为一个标记而已,只是为了标记不存在而存在的。也没必要去追究他在内存是什么样。null就是一个标记而已。容器可以接受一个空对象,但是一个空引用则是不接受的。
0 0
- JAVA基础:Object o 与 Object o = null 的区别
- Object o;和Object o = null; 的区别
- unity载入dll void functionA(object o=null)
- Java Object I/O学习
- object ==null 与 null ==object 在Java中有区别吗? 为什么有些人用后者?
- java多线程同步块(synchronized(Object o){})的一个例程
- object... 与object[]的区别
- java.util.ArrayList#contains(Object o)
- Java I/O系统之Object流
- [object] 与 [object object] 区别!
- [object] 与 [object object] 区别!
- Object.create(null)和new Object的区别
- AbstractList.equals(Object o)
- java equals(Object) 与 == 的区别
- java怎么还是那么渣O(∩_∩)O哈哈~Class,Object这些混淆的概念
- object = null 等效与 string.IsNullOrEmpty(object.ToString() )吗 ?
- equals(Object) 与 == 的区别
- equals(Object) 与 == 的区别
- 在虚拟机中安装CentOS7
- iOS开发中ViewController使用详解
- c# linq的高级用法:分页查询和导出Excel共用一个方法
- 用SparseArray代替HashMap
- oracle数据库的备份与恢复
- JAVA基础:Object o 与 Object o = null 的区别
- [FFMPEG- 协议]hls
- adb shell
- 一次 DNS 缓存引发的惨案
- 189. Rotate Array
- java拷贝机制详解
- 关于高精度运算bign类的实现
- 找不到匹配的outgoing encryption算法
- 究竟啥才是互联网架构“高可用”