Object o与Object o=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就是一個標記而已。容器可以接受一個空對象,但是一個空引用則是不接受的。
Object o; //這種寫法只是分配一個引用,沒有分配內存。
Object o = null; //這么寫則是給引用指向了一個空對象。分配了內存(空對象),所以編譯不會報錯,運行時報空指針異常。
總結
以上是生活随笔為你收集整理的Object o与Object o=null的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: String str =new Stri
- 下一篇: ArrayList和LinkedList