---
# System prepended metadata

title: Java 物件導向程式設計-基礎

---

# Java 物件導向程式設計-基礎
## 【一】Java技術簡介
Java Programming Language 起源自1991年，由Sun Microsystems (昇陽)公司所開發。
Java一開始被稱為**Oak**(橡樹)，當時開發用途是想創造一種『能在不同CPU的消費性電子產品中，能共同使用的程式語言』
* 專案名稱：Green Project
* 專案主持人：James Gosling(Java之父)

<br>

Oracle：甲骨文
<br>
### - James Gosling 用以下11種專業術語，對Java語言做摘要描述
>* Simple 簡單
>* Object-Oriented 物件導向
>* Network-Savvy 具有網路功能
>* Robust 穩固
>* Secure 安全
>* Architecture Neutral 結構中立、跨平台
>* Portable 可攜帶的 (可利用網路將程式碼傳到別的裝置執行)
>* Interpreted 直譯
>* High Performance 效能好
>* Multithreading 多執行緒
>* Dynamic 動態
<br>

### - Object-Oriented 物件導向
#### 程序性程式語言(Procedural Programming)
所著重的是利用撰寫程式的先後次序來解決問題
> 維護性不好
> 大型專案不適合分工

#### 物件導向程式語言(Object-Oriented Programming,OOP)
著重於物件之間可以相互作用的關係來解決問題
> 程式碼模組化(就像積木一樣)

<br>

### - Java技術產品區分
#### Java Standard Edition (Java SE)
> 標準版
> 適用於開發用戶端程式
#### Java Enterprise Edition (Java EE)
> 企業版
> 適用於開發伺服器端程式
#### Java Micro Edition (Java ME)
> 手持裝置版
> 適用開發手機、無線設備等程式

<br>

## 【二】Java環境介紹
### - Java Runtime Environment(JRE)
>#### JVM與Java類別函示庫的組合，被稱為『Java執行環境(JRE)』
>JVM，Java虛擬機器(Java Virtual Machine)

### - Java Development Kit (JDK)
>#### Java開發工具包
>JRE本身不包含開發相關工具，JDK已內含JRE執行環境

>#### 包含在JDK裡的主要開發相關工具(可在%JAVA_HOME%\bin路徑下找到)
>* javac 『啟動Java編譯器』
>* java 『啟動JVM作執行動作』
>* jar 『打包壓縮一堆編譯好的class檔，方便使用和管理』
>* javadoc 『產生程式碼的發明文件給人閱讀』
>* javap 『反編譯，也就是class.→java.』
>* jdb 『除錯使用』

<br>


## 【三】Java程式基本形式
* ###  基本的Java類別架構：
```
存取修飾字
<modifier>* class <class name>{
    <attribute_declaration>* 屬性宣告
    <constructor_declaration>* 建構子
    <method_declaration>* 方法
}
```
**所有java程式碼一定是寫在某個類別裡面**
* 一個類別(class)的成員分為變數(資料)與方法兩種成員

---

#### 類別(class)宣告：
```
> <modifier>*     class     <class_name>      {...}
> 修飾存取方式      class       類別名稱        {...}
```
#### 屬性變數宣告與初始化：
```
> <modifier>*     <type>     <name>     [=<initial_value>];
> 修飾存取方式     資料型態    變數名稱       [=初始值];
```
#### 方法(method)宣告：
```
> <modifier>*   <return_type>    <name>     (<argument>*)   {...}
> 修飾存取方式     傳回值型態      方法名稱       (傳入參數)    {...}
```
#### 註解：
```
單行→//.....       多行→/*.....
                       .....*/
```
<br>

## 【四】Java基本資料型別




