閱讀本文約「2.3分鐘」java
變量有兩種:primitive主數據類型和引用。segmentfault
Java注重類型。它不會讓你作出把長頸鹿類型變量裝進兔子類型變量中這種詭異又危險的舉動——若是有人對長頸鹿調用「跳躍」這個方法會發生什麼悲劇?而且它也不會讓你將浮點數類型變量放進整數類型的變量中,除非你先跟編譯器確認過數字能夠損失掉精確度。數組
編譯器會指出大部分的問題:安全
Rabbit happoer = new Giraffe();多線程
謝天謝地,這樣的程序過不了編譯器這關app
爲了讓類型安全可以發揮做用,你必須聲明全部變量的類型,指定它是個int類型或是個Dog類型,變量有兩種口味:清涼的primitive主數據類型和香辣的對象引用。primitive主數據類型用來保存基本類型的值,包括整數,布爾和浮點數等,而對象引用保存的是對象的引用。線程
你能夠把Java的變量想成是杯子。咖啡杯、茶杯、裝滿啤酒的泡沫跟魚缸同樣大的巨無霸杯等等。指針
變量就像是被子,是一種容器,承裝某些事務。對象
primitive主數據類型如同咖啡館的被子,他們有不一樣的大小,而每種大小都有一個名稱,像是「小杯」,「大杯」,「重量杯」等。事務
而在java中,primitive主數據類型也有不用的大小與名稱。當你在Java中聲明變量的時候,必須指定它的類型,相似:long-6四、int-3二、short-1六、byte-8
要確保變量能存下所保存的值,否則會溢出。
咱們能夠根據如下規則來幫助類、方法或變量命名(真正的規則在實際上更爲複雜,但這些規則就可以保證安全):
——名稱必須以字母、下劃線(_)或$符號開頭,不能用數字開頭
——除了第一個字符之外,後面就能夠用數字。反正不要用在第一個字符就行。
——只要符合上述兩條規則,你就能夠隨意地命名,但還要要避開Java的保留字。
事實上沒有對象變量這樣的東西存在
只有引用(reference)到對象的變量
對象引用變量保存的是存取對象的方法
它並非對象的容器,而不是相似指向對象的指針。或者能夠說是地址。但在Java中咱們不會也不應知道引用變量中實際裝載的是什麼,它只是用來表明單一的對象。只有Java虛擬機纔會知道如何引用來取得該對象。
Java注重類型,一旦數組被聲明出來,你就只能裝入所聲明類型的元素。
變量有兩種Lprimitive主數據類型和引用
變量的聲明必須有類型和名稱
primitive主數據類型變量值是該值的字節所表示的
引用變量的值表明位於堆之對象的存取方法
引用變量如同遙控器,對引用變量使用圓點運算符能夠如同按下遙控器按鈕般地存取它的方法或實例變量
沒有引用到任何對象的引用變量的值爲null值
數組必定是個對象,無論所聲明的元素是否爲primitive主數據類型,而且沒有primitive主數據類型的數組,只有裝載primitive主數據類型的數組。
本文已轉載我的技術公衆號:UncleCatMySelf
歡迎留言討論與點贊
上一篇推薦:【Java貓說】類與對象的那些事
下一篇推薦:【Java貓說】Java多線程以內存可見性(上篇)