Java - 類與物件:初學者的全方位指南

你好,有抱負的Java程序設計師!很高興能成為你在Java類與物件的驚險世界中的導遊。作為一個教了多年計算機科學的人,我可以向您保證,理解這些概念就像打開了一個神奇的工具箱,它將賦予您創造驚人程序的能力。所以,讓我們一起深入探索吧!

Java - Object & Classes

Java類是什麼?

想象一下你在建造一個虛擬動物園。在這個動物園裡,你有許多不同的動物。每個動物都有某些特徵(如顏色、大小和飲食習慣)並能進行某些動作(如吃東西、睡覺和發出聲音)。在Java中,一個類就像創建這些動物的藍圖。

一個類定義了:

  1. 物件將具有的屬性(特徵)
  2. 物件可以執行的方法(動作)

以下是一個簡單的類示例:

public class Animal {
// 屬性
String name;
String species;
int age;

// 方法
public void makeSound() {
System.out.println("The animal makes a sound");
}
}

在這個例子中,Animal是我們的類。它有三個屬性(namespeciesage)和一個方法(makeSound())。

Java類的屬性

  1. 封裝:類將數據和操作該數據的方法打包在一起。
  2. 抽象:類隱藏複雜的實現細節,只顯示必要的功能。
  3. 繼承:類可以從其他類繼承屬性和方法。
  4. 多態:一個類的物件可以採取多種形式。

類變量的類型

在Java中,我們在類中有三種類型的變量:

  1. 實例變量:這些屬於類的實例。
  2. 靜態變量:這些屬於類本身,而不屬於任何特定的實例。
  3. 局部變量:這些在方法內聲明,並且只存在於該方法內。

以下是一個展示所有三種的例子:

public class Zoo {
// 實例變量
String name;

// 靜態變量
static int totalAnimals = 0;

public void addAnimal(String animalName) {
// 局部變量
String message = "Added " + animalName + " to the zoo";
System.out.println(message);
totalAnimals++;
}
}

Java物件是什麼?

如果類是藍圖,那麼物件就是從那個藍圖實際創建的“東西”。在我們的動物園類比中,如果Animal是類,那麼獅子大象企鵝可以是該類的物件。

創建(聲明)Java物件

創建物件也稱為實例化,因為你正在創建一個類的實例。以下是如何做到這一點:

Animal lion = new Animal();
lion.name = "Simba";
lion.species = "Lion";
lion.age = 5;

在這個例子中,我們創建了一個名為獅子Animal物件,並設置了它的屬性。

訪問實例變量和方法

有了物件之後,你可以使用點(.)運算符訪問其變量和方法:

System.out.println(lion.name);  // 輸出:Simba
lion.makeSound();  // 輸出:The animal makes a sound

Java類與物件的更多例子

讓我們創建一個更複雜的類來真正深入這些概念:

public class Car {
// 實例變量
String brand;
String model;
int year;
boolean isRunning;

// 建構子
public Car(String brand, String model, int year) {
this.brand = brand;
this.model = model;
this.year = year;
this.isRunning = false;
}

// 方法
public void startEngine() {
if (!isRunning) {
isRunning = true;
System.out.println("The " + brand + " " + model + " is now running.");
} else {
System.out.println("The car is already running!");
}
}

public void stopEngine() {
if (isRunning) {
isRunning = false;
System.out.println("The " + brand + " " + model + " has stopped.");
} else {
System.out.println("The car isn't running!");
}
}

public void honk() {
System.out.println("Beep beep!");
}
}

現在,讓我們創建一些Car物件並與它們交互:

public class CarDemo {
public static void main(String[] args) {
Car myCar = new Car("Toyota", "Corolla", 2020);
Car friendsCar = new Car("Honda", "Civic", 2019);

myCar.startEngine();
myCar.honk();
myCar.stopEngine();

friendsCar.startEngine();
friendsCar.startEngine();  // 試圖啟動已經運行的車
friendsCar.stopEngine();
}
}

當你運行這個CarDemo類時,你將看到以下輸出:

The Toyota Corolla is now running.
Beep beep!
The Toyota Corolla has stopped.
The Honda Civic is now running.
The car is already running!
The Honda Civic has stopped.

這個例子演示了物件如何保持自己的狀態(如車是否正在運行)以及方法如何與之交互並改變該狀態。

使用類與物件概念的規則

  1. 類名應該以大寫字母開頭。
  2. 每個Java文件應該只包含一個公共類,其名稱應該與文件名匹配。
  3. 物件是使用new關鍵字創建的。
  4. 在使用物件之前,請始終初始化它們。
  5. 對你的類、變量和方法使用有意義的名稱。

結論

類和物件是Java程序設計的基礎。它們使我們能夠在代碼中創建有複雜、現實世界模型的物件。當你繼續你的Java之旅時,你會發現自己不斷地使用這些概念。

記住,熟練才能精通!嘗試創建自己的類和物件。也許模擬一個圖書館系統、一個社交媒體平台,甚至是你最喜愛的視頻遊戲。可能性是無窮的!

編程愉快,願你的物件始終正確實例化!?

Credits: Image by storyset