# Java 簡介
# 什麼是 Java?
- Java 是一種純粹的物件導向 (OOP) 程式語言
- Java 具有更高的跨平台可能性
- Java 的語法結構與 C 和 C++ 語言極為相似
- Java 所用的語法十分的簡單
- Java 時到今日,代表了軟體開發架構
# Java 的特色
- 簡單易學 => 語法十分的簡單 (相較於以往的 C++)
- 物件導向 => 最純粹的物件導向語言
- 平台無關性 => 程式碼可以跨平台編譯、執行
- 安全穩定 => 不受信任的 Java 應用程式會被封鎖而無法執行,並可依情況拋出例外處理程式碼
- 支援多執行緒 => 可以多個線程同時運行
# 豐富的程式庫
Java 提供了大量的類似滿足網絡化、多執行緒、物件對象的需要。 套件 => package
- 語言套件
- 實用程式套件
- I/O 套件
- 網絡套件
- 圖形用戶介面套件
等等...
# Java 可以做什麼?
- 物件導向的應用開發
- 各類網路應用程式的開發
- 計算過程的可視化
- 動態畫面 / 交互操作
- Internet 的系統管理
- 數據庫操作
等等...
# Java 和 C++ 的差別
Java 建構在 C++ 的基礎上,並且去除了許多不常用或複雜的部份。
所以,甚至會用人稱 Java 是 C++--。
- 無直接指針的操作 => 用對象取代了
- 自動內存管理 => 系統自動釋放記憶體空間
- 數據類型長度固定
- 不用頭文件
- 不包含結構和聯合 => 用類取代
- 不支持宏
#define
- 不用多重繼承 => 用接口替代
- 無類外局部變數
- 無
GOTO
# Java 運行機制
# Java 三種運行機制
- Java 虛擬機
Java Virtual Machine
- 程式碼安全檢測
Code Secuity
- 垃圾蒐集機制
Garbage collection
# Java 虛擬機 (JVM)
在一台電腦上的由軟體或硬體模擬的虛擬機。
在 JVM 中讀取並處理經編譯過的字節碼 class 文件。
規範內容定義了:
- 指令集
- 寄存器集
- 類文件結構
堆棧
垃圾收集堆
內存區域
# Java 運行環境 (JRE)
系統級線程 跟蹤 儲存空間的分配狀況
在 JVM 空閒時,檢查並釋放那些可被釋放的存儲空間
程式員無須也無法精確控制和干預回收過程
#Java 自動回收垃圾技術 (garbage collection)
# 物件導向程式設計
# 物件 (object)
- 在現實世界中 => 是客觀世界中的一個實體。
- 在電腦的世界中 => 是一個可標示的儲存空間
# 類別 (class)
- 類別:具有共同屬性和行為的對象。
- 屬性:變數 (字段 filed)
- 行為:函數 (方法 method)
- 類與對象的關係
- 類是對象的模板
- 對象是類的實例
# 封裝
模塊化:將屬性和行為封裝在類中,可以定義很多類
資料隱蔽:將類的細節部分隱藏,用戶只通過受保護的接口訪問某個類。
# 繼承
父類與子類之間共享數據和方法,繼承的好處:
- 更好的進行抽象與分類
- 增強程式碼的使用率
- 提高維護性
# 多態性
- 不同的對象收到同一個消息可產生完全不同的效果
- 實現的細節則由接收對象自行決定
日後補充更多細節!!!