Java 中的物件指的是什麼?
簡介
在現實生活中,我們可以稱桌子、椅子、燈等為物件,因為它們具有一些屬性和功能。我們可以說,任何具有屬性或特性以及某些功能的東西,例如燈具有底座和燈泡,並且可以照亮房間,因此它是一個物件。在 Java 中,我們也有物件,它們也擁有自己的屬性。物件基本上是類的例項,而類提供了建立物件的藍圖。讓我們簡要討論一下物件以及如何在 Java 中建立物件。
定義
要掌握面向物件技術,您必須熟悉物件。面向物件程式設計旨在建立功能類似於現實世界的程式設計。它還強調資料是如何關聯的。有幾個 OOP 原則,物件就是其中之一。物件是一個獨立的實體,具有其自身獨特的特徵和行為。類是物件的藍圖。因此,類的例項就是物件。在本部分中,我們將討論 Java 物件定義語法。物件共享的特徵如下:
標識 - 標識是用於唯一識別該專案的特徵,例如隨機 ID 號或記憶體位置。簡單的物件,如燈,可能只有兩種狀態(開和關)和兩種動作(開啟,關閉),但它們仍然具有標識(例如,專案的製造商 ID)。任何外部使用者都無法看到 ID 的實際值。它是 JVM 用於在內部跟蹤物件的機制。
狀態 - 變數儲存物件的狀態(欄位)。
行為 - 方法說明物件的行為。
如何在 Java 中建立物件?
建立物件有以下步驟:
宣告
例項化物件
初始化物件
建立物件的語法
宣告
宣告主要定義物件的資料型別。宣告告知編譯器您希望使用給定的名稱來引用指定型別的一個變數。宣告的物件不會被例項化。使用 new 運算子建立 Date 物件或任何其他物件。
Class_name Object_name;
物件的型別始終是類的名稱。
例項化
透過 new 運算子為新生成的分配記憶體。new 需要一個引數,該引數包含物件的構造方法。構造方法負責初始化新物件。換句話說,例項化是建立類例項/物件的流程。它佔用物件的初始記憶體並返回引用。物件的例項化充當 Java 中類的藍圖。例項化有兩種方法:
使用 new 關鍵字 - 為了例項化類,Java 提供了 new 關鍵字。讓我們看看如何使用 new 關鍵字來例項化類。
//declaring an object Dog Mydog; //Instantiating using new keyword Mydog=new Dog();
這裡 Dog() 是類的構造方法,是一個無引數構造方法,即沒有引數。但是,如果構造方法是有引數的,那麼我們也必須初始化引數,例如:
Mydog=new Dog(2,Bruno);
讓我們看一個例子來更好地理解。
示例
public class Dog{ int age; String name; Dog(int a, String n)//parameterized constructor { age=a; name=n; } public void display(){ System.out.println(age); System.out.println(name); } public static void main(String args[]){ Dog mydog=new Dog(12, "Bruno");//Object instantiation and object declaration mydog.display();//object initialization } }
輸出
12 Bruno
使用靜態工廠方法 - 類也可以透過執行靜態工廠函式來例項化。類可以提供一個公共靜態工廠方法,它只是一個返回類例項的靜態方法。請始終記住,它與工廠方法模式不同。
讓我們看一個靜態工廠方法的示例
示例
public class Dog{ int age; String name; Dog(int age, String name)//parameterized constructor { this.age=age; this.name=name; } public static Dog mydog(int age, String name) { return new Dog(age,name); } public static void main(String args[]) { Dog d=new Dog(23,"bruno"); System.out.println(d.age+" "+d.name); } }
輸出
23 bruno
初始化
類包含構造方法以初始化新建立的該型別例項。構造方法可以透過類宣告中的其他方法識別出來,因為它們與類具有相同的名稱並且沒有返回型別。
初始化物件主要有四種方法:
樸素方法 - 這個概念是使用 new 運算子獲取類的例項,並使用類 setter 設定其值。
構造方法 - 使用 new 運算子建立物件時,必須指定構造方法。構造方法的名稱與類相同,並且不返回任何內容。它可以接受一組引數,這些引數是我們想要設定值的欄位,或者它可以是無引數的(無引數構造方法)。如果我們宣告一個沒有構造方法的類,編譯器將自動生成一個。
複製構造方法 - 複製構造方法是一個特殊的構造方法,它從現有物件建立一個新物件。它只接受一個引數,即同一類的另一個例項。使用 this() 表示式,我們可以直接從複製構造方法執行另一個構造方法。
匿名內部類 - 使用“雙括號初始化”作為初始化物件的替代方法。這會在未命名的內部類中生成一個單一的例項初始化器。強烈建議不要使用此技術。
結論
在本文中,我們學習了物件的概念以及如何建立物件。物件是面向物件程式語言的基本構建塊。在開始使用 Java 之前,您必須熟悉物件的概念。類是物件的藍圖,因此我們可以說物件是類的例項。