Java學習之基本概念

一、Java程序的運行機制

\quadJava程序需要經過編譯和解釋兩個步驟,但其編譯步驟並不會生成特定平臺的機器碼,而是生成一種與平臺無關的字節碼(*.class文件)。這種字節碼不是可執行的,須使用Java解釋器來解釋執行。因此,我們可以認爲:Java既是編譯型語言,也是解釋型語言
\quad負責解釋執行字節碼文件的是Java虛擬機,即JVMJVM(Java Virtual Machine)。因此編譯器只需要面向虛擬機即可,生成虛擬機能解釋的字節碼再由虛擬機解釋執行。JVM是Java程序跨平臺的關鍵部分,只要爲不同平臺實現了相應的虛擬機,編譯後的Java字節碼就可以在該平臺上運行。因此,Java具有良好的跨平臺移植性。
\quadSun公司將Java分爲JavaSE,JavaEE和JavaME三部分。其中

  • JavaSE是整個Java技術的核心和基礎,是JavaEE和JavaME的基礎
  • JavaEE是Java技術中應用最廣泛的部分,提供了企業應用開發相關的完整解決方案
  • JavaME主要用於控制移動設備和信息家電等有限存儲的設備

\quadJDK全稱是Java SE Development Kit,即Java標準版開發包。它提供了編譯、運行Java程序所需的各種工具和資源,包括Java編譯器,Java運行環境(JRE,JRE包含JVM和類加載器、字節碼校驗器和大量基礎類庫)。因此裝了JDK就相當於裝了整個Java編譯運行所需的工具,配上代碼編輯器,就可以寫Java程序並運行啦!

二、Java程序的基本準則

\quadJava程序是一種純粹的面向對象的程序設計語言,因此Java程序必須以類的形式存在,類是Java程序的最小程序單位。

class test
{
}

\quad上面的代碼是最簡單的Java程序,這個程序定義了一個test類,是一個空類,可以被編譯。但是不能被解釋執行,因爲Java解釋器規定:如果類被解釋器直接解釋執行,則這個類中必須包含main方法,而且main方法必須使用public static
void修飾,且main方法的形參必須是一個字符串數組(String[] args是字符串數組的形式)。因此一個可以被編譯解釋的Java程序格式如下:

class test 
{
    public static void main(String[] args)
   {
   }
}

\quadJava源文件的命名規則:通常情況下,Java程序源文件是可以任意取名的,但當Java程序源代碼中定義了一個public類,則該源文件的主文件名必須與該public類的類名相同。因此,一個Java源文件裏最多定義了一public類。
\quadJava程序執行輸出有兩種簡單的方式System.out.print("Hello")System.out.println("Hello"),區別是前者輸出Hello後不會換行,後者會換行。
\quadJava不需要程序員控制內存回收,其內存分配和垃圾回收都是JRE在後臺自動進行的。JRE會負責回收那些不再使用的內存,這種機制稱爲垃圾回收。

三、面向對象

\quadJava是純粹的面向對象的程序設計語言,主要表現爲Java完全支持面向對象的三種基本特徵:繼承、封裝和多態。面向對象實際上由OOA(面向對象分析)、OOD(面向對象設計)和OOP(面向對象編程)三部分組成。其中前兩個統一採用UML來描述並記錄OOA和OOD的結果。面向對象支持如下功能

  • 類是具有共同屬性、共同方法的對象的集合。類是對象的抽象;對象是類的實例。類是最小的程序單元,類的封裝性將各種信息細節隱藏起來,並通過公用方法來暴露該類對外所提供的功能,從而提升類的內聚性、降低對象之間的耦合性。
  • 類之間共享屬性和操作的機制稱爲繼承,已有的類可以當作基類來引用,新類可作爲派生類。繼承具有傳遞性。可分爲單繼承(一個繼承只允許有一個直接父類,即樹形結構)和多繼承(一個類允許有多個直接父親)。由於多繼承可能引起繼承結構的混亂,而且會大大降低程序的可理解性,所以Java不再支持多類繼承。

\quad在Java語言中,除8個基本數據類型值外,一切都是對象。

發佈了222 篇原創文章 · 獲贊 99 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章