- Java語言程序設計與實現(微課版·第2版)
- 張桓 徐麗主編
- 3369字
- 2023-10-17 18:30:28
任務1.1 Java語言概述

Java語言概述
本任務的目標是簡要介紹Java語言,包括理解程序設計思想、Java語言概述。通過本任務的學習,讀者可以對基于面向對象的程序設計思想的Java語言有宏觀的了解,對Java語言的三大開發平臺有基本的認知。
1.1.1 理解程序設計思想
程序設計思想,是指用計算機來解決人們實際問題的思維方式。常用的程序設計思想有面向過程的程序設計思想和面向對象的程序設計思想兩種。
1.面向過程的程序設計思想
面向過程的程序設計思想是一種以事件為中心的編程思想,即分析出解決問題所需要的步驟,然后用函數把這些步驟一步一步地實現,使用的時候依次調用。例如,一個學生早上起來通常要做的事情可以大致概括為以下幾個步驟:起床—穿衣—洗漱—去學校。而這4步就是一步一步地完成的,它們的順序很重要。
一般的面向過程思想是自上向下、步步求精的,將一個復雜任務按照功能進行拆分,并逐層細化到便于理解和描述的程度,最終形成由若干獨立模塊組成的樹狀層次結構,所以面向過程思想最重要的是模塊化的設計思想,即結構化程序設計。比較著名的面向過程的程序設計語言有:C語言、Pascal語言、BLISS語言等。
當程序規模不是很大時,面向過程的程序設計思想比較具有優勢,因為程序的流程很清楚,按照模塊與函數的結構可以很好地組織程序流程。但面向過程的程序設計思想也有缺陷,主要表現在以下方面。
①難以滿足大型軟件開發的設計需求。在大型多文件軟件系統中,隨著數據量的增加,由于數據與數據處理相對獨立,程序流程變得越來越難以理解,文件之間的數據溝通也變得非常復雜。隨著軟件開發復雜度的不斷提高,面向過程的程序設計思想就容易出現更多的不可控問題。
②程序可重用性差。面向過程的程序設計思想即使是面對已經處理過的問題,伴隨著數據類型的變化或者處理方法的改變都必將導致程序的重新設計。這種額外開銷與可重用性相互矛盾,稱為“重復投入”。
這些由面向過程的程序設計思想所導致的缺陷,其本身是無法彌補的,而越來越多的大型程序設計又要求必須彌補這些缺陷。這就導致了面向對象的程序設計思想的產生。
2.面向對象的程序設計思想
面向對象的程序設計思想是相對于面向過程的程序設計思想而言的。它是從現實世界中客觀存在的事物出發來構造軟件系統,并在系統構造中盡可能地運用人類的自然思維方式,強調直接以現實世界中的事物為中心來思考問題和認識問題,并根據這些事物的本質特點,把它們抽象地表示為系統中的對象,作為系統的基本構成單位。簡單來說,就是將我們編程時相關的數據和處理方法都“打包”,整體來對待,也就是將我們現實世界的事物看成由屬性(數據)和它本身的操作(方法)所構成。把數據和方法整合到一起就形成了面向對象的程序設計思想中的一個重要概念“類”,然后通過類的聲明得到對象。編程時有效地利用類的繼承性,也會在很大程度上提高編程的效率。當應用程序功能發生改變時,只需要修改相關的對象,使得代碼的維護更容易。如果用面向對象的程序設計思想來處理前文提到的“學生”這個例子,就可以抽象出一個學生類。它可以包括兩個屬性(姓名、年齡),4個方法(起床、穿衣、洗漱、去學校)。小明這個學生就可以聲明成學生類的一個對象。比較著名的面向對象的程序設計語言有:Java語言、C++語言、C#語言等。
面向對象的程序設計思想具有以下優點。
①數據抽象可以在保持外部接口不變的情況下改變內部實現,從而減少甚至避免對外界的干擾。
②通過繼承大幅減少冗余的代碼,并且可以方便地擴展現有代碼,提高編碼效率,降低出錯率和軟件維護的難度。
③結合面向對象分析、面向對象設計,允許將問題中的對象直接映射到程序中,減少軟件開發過程的中間環節轉換。
④通過對對象的辨別、劃分可以將軟件系統分割為若干相對獨立的部分,在一定程度上更便于控制軟件的復雜度。
⑤通過對象的聚合、聯合可以在保證封裝與抽象的原則下,實現包括對象在內的結構以及外在功能的擴充。
1.1.2 Java語言綜述
隨著軟件功能需求的不斷增加,軟件的規模越來越大、復雜度越來越高。面向對象的程序設計思想逐步成為當前主流的程序設計思想。Java語言是當前最為流行的面向對象的程序設計語言之一,被廣大程序開發人員普遍使用。下面讓我們對Java語言進行初步的了解。
1.Java語言的起源
1991年,Sun公司為了進軍家用電子消費市場,成立了一個代號為Green的項目組。之后Oak(橡樹)項目出現。Oak以C++語言為藍本,吸收了C++語言中符合面向對象程序設計要求的部分,同時加入了一些滿足網絡設計要求的內容。1994年,Green項目組成員認真分析計算機網絡應用的特點,認為Oak滿足網絡應用所要求的平臺獨立性、系統可靠性和安全性等。1995年5月23日,Sun公司正式發布了Java語言。
Java語言一經推出,就受到了業界的關注。Netscape公司第一個認可了Java語言,并于1995年8月將Java的解釋器集成到它的主打產品Navigator瀏覽器中。接著,Microsoft公司在Internet Explorer瀏覽器中認可了Java語言。從這時起,Java語言開始了它的發展歷程。
2.Java語言的特點
Java語言是簡單的、面向對象的語言,它具有分布式、安全性等特點,又可以實現多線程,更主要的是它與平臺無關,解決了困擾軟件開發界多年的軟件移植問題。
(1)面向對象
面向對象程序設計是近代軟件工業的一種革新,它提高了軟件的彈性度、模塊化程度與重復使用率,降低了軟件的開發時間與成本。Java語言是完全對象化的程序設計語言,編程重點在于產生對象、操作對象以及如何使對象能一起協調工作,以實現程序的功能。
(2)語法簡單
Java語言的語法類似于C語言和C++語言的語法,熟悉C++語言的程序開發人員不會對Java語言感到陌生。與C++語言相比,Java語言對復雜特性的省略和實用功能的增加使得開發變得更加簡單、可靠。
(3)平臺無關性
平臺無關性是指Java語言能運行于不同的硬件和操作系統之上。Java語言引進了虛擬機的概念。Java虛擬機(Java Virtual Machine,JVM)是建立在硬件和操作系統之上的,用于實現對Java字節碼文件的解釋和執行,為不同的操作系統提供統一的Java接口。這使得Java程序可以跨平臺運行,非常適合網絡應用。
(4)安全性
安全性是網絡應用必須考慮的重要問題之一。Java語言的設計目的就是提供一個網絡/分布式計算環境,因此,Java語言特別強調安全性。Java程序運行之前會利用字節確認器進行代碼的安全檢查,確保程序不會存在非法訪問本地資源、文件系統的可能性,保證程序在網絡間運行的安全性。
(5)分布式應用
Java語言為程序開發提供了java.net包,該包提供了一組類,使程序開發人員可以輕松實現基于傳輸控制協議/互聯網協議(Transmission Control Protocol/Internet Protocol,TCP/IP)的分布式應用。此外,Java語言還提供了專門針對互聯網應用的一整套類庫,供程序開發人員進行網絡程序開發使用。
(6)多線程
Java語言內置了多線程控制,可以使用戶程序并行執行。利用Java的多線程編程接口,開發人員可以方便地寫出多線程的應用程序。Java語言提供的同步機制,還可保證各線程對共享數據的正確操作。在硬件條件允許的情況下,這些線程可以直接分布到各個中央處理器(Central Processing Unit,CPU)上,充分發揮硬件性能,提高程序執行效率。
3.Java語言的三大開發平臺
Java語言發展到今天,已從一種編程語言發展成為全球第一大通用開發平臺。Java的程序開發技術已被計算機行業主要公司所接受和采納。1999年,Sun公司推出了以Java 2平臺為核心的J2SE、J2EE和J2ME三大開發平臺。隨著三大開發平臺的迅速推進,全球形成了一股巨大的Java應用浪潮。
(1)J2SE
J2SE(Java 2 Standard Edition,Java 2平臺標準版)適用于個人計算機以及低端的服務器桌面系統應用程序的開發。J2SE包含構成Java語言的核心類庫。
(2)J2EE
J2EE(Java 2 Enterprise Edition,Java 2平臺企業版)是一種利用Java 2平臺來簡化企業級應用程序開發、部署和管理等相關復雜問題的解決方案。J2EE主要用于分布式的網絡應用程序的開發,構建企業級的服務器應用程序等,例如電子商務系統、企業資源計劃(Enterprise Resource Planning,ERP)系統等。J2EE除了包含J2SE的類,還包含用于開發企業級應用程序的類庫。
(3)J2ME
Sun公司將J2ME(Java 2 Micro Edition,Java 2平臺微型版)定義為“一種以廣泛的消費性產品為目標、高度優化的Java運行環境”。自1999年6月Sun公司在JavaOne Developer Conference上聲明之后,J2ME進入了小型設備開發的行列。基于Java語言特性、遵循J2ME規范開發的Java程序可以運行在各種不同的小型設備上,如手機、平板電腦、智能卡、機頂盒等設備。
簡單地說,J2SE用于小型應用程序開發,J2EE用于大型網絡應用程序開發,J2ME用于手機等嵌入式消費類產品應用程序開發。J2SE包含于J2EE中,J2ME包含J2SE的核心類,但添加了一些專用的類庫。這三大開發平臺所使用的語言都是Java語言,只是捆綁的類庫不同。