一切都是對象

一切都是對象

以前本身學習Java就是以系統的角度去學習,就是咱們把這些知識點羅列出來,而後作一個全面的學習。這樣的的確確能夠將知識點都學習全面,可是本身理解上來講仍是很淺層次的。若是一段時間沒有去使用Java我以爲本身仍是會忘記,因此去理解爲何對於學習Java是很重要的。java

上節咱們從語言的角度去分析,語言就是描述人類的想法和同時讓計算機辨識的一種標識。根據這個語言是偏向咱們人類好理解,仍是計算機好理解能夠分爲,面向過程語言和麪向對象的語言。Java就屬於面向對象的語言。程序員

那麼面嚮對象語言,咱們主要去理解的就是這個對象,咱們編寫程序就是去操做這個語言。
那麼:編程

·Java是怎麼去操做這個對象的呢?
·同時這個對象怎麼生成的?
·咱們又怎麼去區分這麼多對象呢?
·對象的存在應該有空間,那麼對象存儲在哪呢?
·有開始就有結束,有生成就有銷燬,那麼Java是怎麼銷燬一個對象的呢?
·還有就是是否是真的就是一切都是對象,有沒有一些特例呢?
·最後面咱們寫的程序應該就是不少個對象的組合和操做,他們之間是怎麼運做的呢?咱們這一節就是面對這些問題,咱們對對象的理解就會更加深入。

Java怎麼操做對象?

Java是用引用(reference)去操做對象,用字符串去解釋這個引用。函數

String s;

那麼這個s就是引用,那麼咱們這樣是否是能夠操做對象了。不行,由於咱們尚未建立對象,沒有對象給咱們操做,直接運行是會報錯的。這也是咱們編程中常常會遇到的空指針異常。學習

Java怎麼建立對象?

Java使用new關鍵字來建立對象。優化

String s1 = new String(「hello」);
String s2 = 「hello」;

String字符串比較特殊,能夠直接使用」」來建立對象。那麼這些建立好的對象到底存儲在哪裏呢?spa

Java怎麼存儲對象?

圖片描述

除此以外這些都是對象的數據的存儲位置等等一些知識,那麼Java當中還有一些特殊的數據類型。按照面向對象的思想,一切都是對象,無論什麼數據都應該是對象,可是Java對於一些基礎的數據類型爲了運行效率和內存的優化,將8個基本類型進行了特殊處理。同時針對8個基本類型的存儲的大小的限制有了BigDecimal和BigInteger進行擴展。
咱們知道Java是如何存儲數據以後咱們如何去分辨這麼多對象呢?指針

Java如何分辨對象?

Java中使用Class這個關鍵字來建立新的對象類型,也就是經過Class 來分辨對象。更加具體的是類裏面的內容--域和方法。code

域就是咱們一般所說的成員變量。這裏面須要注意的是,若是咱們初始化的話,Java程序通常會給一些默認值8個基本類型通常給一個0,引用類型給一個null。因此咱們須要初始化這些成員變量。可是這種給與默認值的狀況不適合方法裏面的局部變量。對象

方法在之前常常認爲是函數,可是本書有一個說法更加能體現他做用,就是接受一個消息進行操做。
認識完這些以後咱們是否是能夠隨便的使用建立好的對象呢?

Java的做用域

Java跟C語言和C++語言都是經過花括號來限定變量名的可見性。
最後咱們建立了實例咱們須要控制他的銷燬。

Java如何銷燬實例?

Java經過GC垃圾處理機制銷燬實例,這部分不須要程序員去控制。
以上就是咱們對對象的理解,那麼是否是有須要將一些方法單獨拿出來,這個方法不屬於任何對象,這個時候咱們處理?

不是對象的特殊處理

使用static關鍵字,分static修飾的成員變量和成員方法。這些變量和成員方法能夠每個對象共享。
咱們理解完對象以後,咱們就須要將這些對象組合起來,運行成一個Java程序。

怎麼構建一個Java程序?

咱們使用class建立一個新的類型,若是咱們使用了相同的名字在不一樣的包下建立咱們怎麼知道他們之間的區別呢?這裏就須要將類標註在那個包下。
同時咱們使用其餘的類型的時候咱們怎麼知道咱們選擇的是哪一個對象呢?因此須要使用import關鍵字來引用具體的類型。去識別。

java命名規範

  1. 項目名:所有小寫。
  2. 包名:所有小寫
  3. 類命名規範:使用帕斯卡命名法 即pascal命名法。作法是首字母大寫,如UserName,經常使用在類的變量命名中。
  4. 方法和屬性:使用匈牙利命名法。作法就是隻是首字母爲小寫,如userName。
  5. 常量名:所有大寫。
  6. 全部命名規則必須遵循如下規則:

    1. 名稱只能由字母、數字、下劃線、$符號組成
    2. 不能以數字開頭
    3. 名稱不能使用JAVA中的關鍵字。
    4. 堅定不容許出現中文及拼音命名。
相關文章
相關標籤/搜索