Java初入門(from c++ 2 java)(一)

來源:互聯網
上載者:User
開始學習java了!其實在寫這篇文檔之前的一兩個月前就已經看了一小部分的java語言了,當時是一個朋友勸說下學習的,在本本的vista下面掛了個eclipse,然後就開始了,不過沒有幾天,vista系統因為各種原因,被我格式化了xp系統,一直也沒有記錄下來學習java的一些基本內容,今天稍微整理一下:
 
   java語言派生自c++語言,自然有許多地方與C++語言是類似的,最大的區別在於記憶體的管理,java內部的記憶體管理可以先不去理解,儘管thinking in java中有所介紹,不用手工管理記憶體使得編寫程式更加安全一些。用new後,不需要顯示調用delete方法(事實上也不存在)

   java的操作符與C++基本一致,有差別的是<<<符號,無符號左移,是在看《編程藝術》一書時看到該符號的,同時也看到它的需求非常實際。

   java沒有C++的operator運算子多載,因此java內部要重載,只能夠通過類方法,不知道java內部是否通過類似C++的虛函數實現每一個函數,我記得c#好像是那麼實現的。

   java中方法內變數必須要在定義的時候就初始化,否則編譯器將會報出錯誤,在類成員中的變數,java會自動給你初始化一個預設值,一般為0,null,false。

   java中的所有方式都是通過類來實現,因此java中需要一個全域訪問時需要通過靜態變數來實現,java的靜態變數實現與C++有所差別。java中存在static語句塊,如:
   static
   {
       static object o = new object();
   }
   static的初始化是在第一次調用的時候,依據聲明的順序進行初始化的。

   java中的建構函式可以通過this來調用自身的另外一個建構函式,但只能調用一次,且放置在建構函式中的第一條語句中。

   java中沒有顯示的解構函式,可以存在finalize方法,在垃圾收集器運行收集系統記憶體的時候,會被調用,但不如C++的delete語句那麼可靠!

   java通過包方法來區別各個類,C++通過namespace來給類劃分名字空間,java通過package來區分,package的尋找位置一般通過JAVA_CLASSPATH來搜尋,一般JAVA_CLASSPATH的第一個值為'.',表示當前路徑。與C++中的namespace有些類似,但package是基於文檔的路徑來實現的,namespace是基於邏輯所在地區來實現的。

   java中每個package的尾碼名為java,只能匯出一個public類,其他類都是預設聲明,即protected,對本package內部是可見的,對其他package是不可見的,非常類似C++語言總的static聲明的函數。

   java中的修飾符為public、private,protected是預設的修飾符,每一個類,變數,方法都需要顯示表明public,private修飾符,與C++的不同,C++是起始申明開始到下一個聲明開始為止,都為同一個宣告類型。

   java中的所有類都從object中繼承下來的。每個類均由預設的功能,最簡單的莫過於hashCode方法以及toString方法。

   java中有一個命名規範,即將所有的類以Title方式命名,類成員以及方法用駱駝法(camel)命名。
  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.