Java 作為物件導向語言,支援以下核心特性:
| 概念 | 定義 | 例子 |
|---|---|---|
| 物件 | 類的實例,擁有狀態(屬性)與行為(方法) | 一隻狗:顏色、名字、品種(狀態);搖尾巴、叫、吃(行為) |
| 類 | 建立物件的藍圖/模板,描述一類物件的共同結構與行為 | Dog 類定義了所有狗共有的屬性與方法 |
public class Dog {
// 成員變數(屬性)
String breed;
int age;
String color;
// 方法(行為)
void barking() { }
void hungry() { }
void sleeping() { }
}
static 宣告,屬於類而非實例,共享單一副本new 關鍵字建立物件時必須呼叫建構子public class Puppy {
public Puppy() { } // 無參數建構子
public Puppy(String name) { // 含參數建構子
System.out.println("Passed Name is: " + name);
}
}
Puppy myPuppy;(宣告型別與變數名)new Puppy("tommy")(配置記憶體)public class Puppy {
public Puppy(String name) {
System.out.println("Passed Name is: " + name);
}
public static void main(String[] args) {
Puppy myPuppy = new Puppy("tommy"); // 宣告+實例化+初始化
}
}
// 輸出:Passed Name is: tommy
// 存取變數 objectReference.variableName; // 呼叫方法 objectReference.methodName();
public class Puppy {
int puppyAge;
public Puppy(String name) {
System.out.println("Passed Name is: " + name);
}
public void setAge(int age) { puppyAge = age; }
public int getAge() {
System.out.println("Puppy's age is: " + puppyAge);
return puppyAge;
}
public static void main(String[] args) {
Puppy myPuppy = new Puppy("tommy");
myPuppy.setAge(2);
myPuppy.getAge();
System.out.println("Variable Value: " + myPuppy.puppyAge);
}
}
// 輸出:
// Passed Name is: tommy
// Puppy's age is: 2
// Variable Value: 2
.java 檔案僅能有一個 public 類別public 類別public 類別名相同(如 Employee.java)package 陳述句必須在檔案第一行(若存在)import 陳述句置於 package 之後、類別定義之前import/package 對檔案內所有類別生效// Employee.java
import java.io.*;
public class Employee {
String name; int age; String designation; double salary;
public Employee(String name) { this.name = name; }
public void empAge(int empAge) { age = empAge; }
public void empDesignation(String empDesig) { designation = empDesig; }
public void empSalary(double empSalary) { salary = empSalary; }
public void printEmployee() {
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Designation: " + designation);
System.out.println("Salary: " + salary);
}
}
// EmployeeTest.java
import java.io.*;
public class EmployeeTest {
public static void main(String[] args) {
Employee empOne = new Employee("James Smith");
Employee empTwo = new Employee("Mary Anne");
empOne.empAge(26);
empOne.empDesignation("Senior Software Engineer");
empOne.empSalary(1000);
empOne.printEmployee();
empTwo.empAge(21);
empTwo.empDesignation("Software Engineer");
empTwo.empSalary(500);
empTwo.printEmployee();
}
}
java.io、java.util)import java.io.*; 匯入 java.io 套件下所有類別原文連結:碼農教程