【Java】初階篇#4:物件導向

本文是系列文章「Java 初階篇」的第四章,介紹物件導向程式設計。 物件導向程式設計(Object Oriented Programming)是一種具有物件概念的程式設計典範,我們真實世界中的事物都可以抽象化為物件,例如鍵盤、汽車、畫筆等等,在腦子裡描述物件的這個過程就是抽象化。物件導向程式設計的優點大致有程式易讀易懂、易維護、支持更大的系統、多人合作等等。 1. 封裝 把某事物抽象化為物件之後,裡面有些資訊想要隱藏起來不給外部使用,只公開一些方法讓外部使用。 例如: class 蛋糕販賣機{ private int 蛋糕數量; ...... private boolean 會員確認(會員卡、密碼){ ...... } private void 投出蛋糕(){ ...... } public void 買蛋糕(會員卡、密碼){ if(會員確認(會員卡、密碼) == true) 投出蛋糕(); ...... } public void 查詢會員(會員卡、密碼){ ...... } ...... } 利用修飾子 private、public,把各內容做公開或隱藏,讓使用者只能使用某些方法。 1.1 存取修飾子 public:公開,任何人都可存取。 protected:保護,只有該類別的子類別才可存取。 no modifier:預設,只有同一個 package 之中的類別才可存取。 private:私有,只有自己類別的成員才可存取。 比較表: Class Package Subclass(same pkg) Subclass(diff pkg) World public V V V V V protected V V V V X no modifier V V V X X private V X X X X via stackoverflow ...

July 17, 2024 · Lodur46

【Java】初階篇#3:基礎語法

本文是系列文章「Java 初階篇」的第三章,開始認識基礎語法。 1. Variable, Assignment 變數(Variable)、賦值(Assignment)是任何程式語言的基本概念。 int x; // 資料型態 變數名稱 x=5; // 將值指定給變數 int x = 5; // 可以寫成一行 變數的值可改變,例如int x = 10。 在 Java 中=(等號)是賦值的意思,將等號右邊的值放到等號左邊,例如: public class Main { public static void main(String[] args) { int x = 5; x = x + 1; System.out.println(x); } } 輸出結果: 6 語法糖:x = x + 1可縮寫成x += 1。 變數名稱不能是數字開頭、不能是 Java 關鍵字。 常量(Constants):指定義不能改變的量。加入 final 就可以設定 Constants Variable,例如: public class Main { public static void main(String[] args) { final double PI = 3.14; } } 加入 final 後,PI 則不能被改變。 ...

July 16, 2024 · Lodur46

【Java】初階篇#2:基礎概念

本文是系列文章「Java 初階篇」的第二章,著重於基礎概念的建立。 1. 初探 Java 程式 建立第一個 Java 程式,取名為Main.java,並輸入以下程式碼: class Main { /* 我是第一支Java程式 我會顯示出文字:Hello World! */ public static void main(String[] args) { System.out.println("Hello World!"); // 顯示出文字:Hello World! } } 執行結果: Hello World! 1.1 類別 類別(Class)名需要與檔名一樣,必須是以大寫英文字母開頭,例如類別Main與檔名Main.java。 class Main { } 1.2 程式進入點 JVM 執行程式時,會先找程式進入點(Program Entry),而且規定必須是public static void main(String[] args)。 public static void main(String[] args) { } public:公開,表示此方法為公開。 static:靜態,表示程式執行前,需要把這些內容載入到記憶體。 void:此處為回傳值的型態,void 表示沒有回傳值。 main:表示程式進入點的名稱,JVM 規定一定要取名「main」。 String[] args:JVM 規定 main 接受字串陣列當做參數。 String[]:表示字串陣列。 args:表示字串陣列的變數名稱。 重點: ...

June 15, 2024 · Lodur46

【Java】初階篇#1:介紹

Java 是一種程式設計語言,擁有跨平台、物件導向等特性,本系列文章是分享我學習 Java 的筆記內容。 1. Java 是什麼? Java 是一種程式設計語言,廣泛使用於 Web 應用開發、企業軟體、行動應用程式、大數據應用程式、伺服器端技術等等,擁有跨平台、物件導向、泛型程式設計等特性。最早是由昇陽電腦的詹姆斯·高斯林等人於 1990 年代所開發,於 1995 年 5 月以 Java 的名稱正式釋出,隨後跟著 www 全球資訊網的浪潮開始蓬勃發展。 重點: Java 最早由昇陽電腦開始研究,於 1994 年完成。 Java 之父:James Gosling。 Oracle 於 2009 年收購昇陽電腦,從此 Java 成為 Oracle 的產品。 目前 Java 提供三版本:企業版 Java EE、標準版 Java SE、微型版 Java ME。 2. Java 的特性 2.1 物件導向 Java 程式的最小單位是物件,物件透過方法(method)執行功能。物件導向設計使軟體工程更容易管理、增加工程健康度、減少工程失敗度。 2.2 跨平台性 Java 程式經過編譯後不用再做任何更改,就能在任何硬體裝置條件下執行,關鍵在於名叫 JVM (Java Virtual Machine)的 Java 執行環境,Java 的資料型態在 JVM 上具有一致性,不會因為作業系統的不同,而產生不同的結果。 .java(Java 程式) –> 編譯器(Compiler) –> .class(位元碼) –> JVM –> 解析.class –> 向作業系統取得資源 –> 執行命令。 ...

June 11, 2024 · Lodur46