在 Java 中,類和物件是面向物件編程的基本構建塊,類是一種模板,用于定義物件的屬性和行為,物件是類的實體,具有類定義的屬性和行為,
2.1.1. 類的定義
要定義一個類,可以使用以下語法:
class ClassName {
// 成員變數(屬性)
// 成員方法(行為)
}
類的名稱應遵循駝峰命名法,首字母大寫,類可以包含成員變數(屬性)和成員方法(行為),
示例1:定義一個簡單的類
class Dog {
// 成員變數
String breed;
int age;
String color;
// 成員方法
void bark() {
System.out.println("Woof!");
}
void sleep() {
System.out.println("Zzz...");
}
void play() {
System.out.println("Playing...");
}
}
上述示例中,定義了一個名為 Dog 的類,包含三個成員變數(breed,age 和 color)和三個成員方法(bark(),sleep() 和 play()),
2.1.2. 創建和使用物件
創建一個物件,需要使用 new 關鍵字和構造方法,構造方法是一種特殊的成員方法,用于初始化物件的屬性,構造方法的名稱與類名相同,沒有回傳型別,
ClassName objectName = new ClassName();
要訪問物件的屬性和方法,可以使用點(.)運算子,
objectName.property;
objectName.method();
示例2:創建和使用物件
class Main {
public static void main(String[] args) {
// 創建 Dog 物件
Dog myDog = new Dog();
// 設定屬性值
myDog.breed = "Golden Retriever";
myDog.age = 3;
myDog.color = "Yellow";
// 呼叫方法
myDog.bark();
myDog.sleep();
myDog.play();
System.out.println("My dog is a " + myDog.breed + " and its color is " + myDog.color + ".");
}
}
2.1.3. 構造方法和 this 關鍵字
構造方法用于初始化物件,可以為類定義多個構造方法,它們具有不同的引數串列,這稱為構造方法多載,
this 關鍵字用于參考當前物件,在構造方法中,可以使用 this 關鍵字區分引數和成員變數,
示例3:構造方法和 this 關鍵字
class Dog {
// 成員變數
String breed;
int age;
String color;
// 構造方法
Dog(String breed, int age, String color) {
this.breed = breed;
this.age = age;
this.color = color;
}
// 成員方法
void bark() {
System.out.println("Woof!");
}
void sleep() {
System.out.println("Zzz...");
}
void play() {
System.out.println("Playing...");
}
}
class Main {
public static void main(String[] args) {
// 使用構造方法創建 Dog 物件
Dog myDog = new Dog("Golden Retriever", 3, "Yellow");
// 呼叫方法
myDog.bark();
myDog.sleep();
myDog.play();
System.out.println("My dog is a " + myDog.breed + " and its color is " + myDog.color + ".");
}
}
2.1.4. 封裝
封裝是一種將資料和操作資料的方法捆綁在一起的技術,為了實作封裝,可以使用訪問修飾符限制對類成員的訪問,Java 提供了四種訪問修飾符:public,protected,private 和默認(無修飾符),
通常,類的成員變數設定為 private,并通過公共的 getter 和 setter 方法訪問和修改它們,
示例4:封裝
// 私有成員變數
private String breed;
private int age;
private String color;
// 構造方法
Dog(String breed, int age, String color) {
this.breed = breed;
this.age = age;
this.color = color;
}
// 公共 getter 和 setter 方法
public String getBreed() {
return breed;
}
public void setBreed(String breed) {
this.breed = breed;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
// 成員方法
void bark() {
System.out.println("Woof!");
}
void sleep() {
System.out.println("Zzz...");
}
void play() {
System.out.println("Playing...");
}
}
class Main {
public static void main(String[] args) {
// 使用構造方法創建 Dog 物件
Dog myDog = new Dog("Golden Retriever", 3, "Yellow");
// 使用 setter 方法設定屬性
myDog.setBreed("Labrador");
myDog.setAge(4);
myDog.setColor("Black");
// 使用 getter 方法獲取屬性
System.out.println("My dog is a " + myDog.getBreed() + " and its color is " + myDog.getColor() + ".");
// 呼叫方法
myDog.bark();
myDog.sleep();
myDog.play();
}
}
通過這些示例,你應該對類和物件有了基本的了解,當然,類和物件在實際編程中的應用遠比這里介紹的更復雜,但是,這些基本概念和操作是你開始學習和掌握面向物件編程的基礎,


推薦閱讀:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/553750.html
標籤:其他
下一篇:返回列表
