Java 中物件和類的區別
類和物件被認為是面向物件程式設計的基石。每個具有狀態和行為的實體都是一個物件。這些相似物件的集合就是一個類。類只能被其物件訪問,從而保護其中的資料。閱讀本文以瞭解更多關於 Java 中的物件和類以及它們之間區別的資訊。
什麼是 Java 中的類?
類是一種使用者定義的資料型別,充當設計其中物件的藍圖。它被認為是一個儲存相似型別物件的容器。
每個類都包含資料成員和成員函式,它們可以透過其物件訪問。這裡,資料成員是變數,成員函式是操作變數的方法。
類是使用關鍵字“class”建立的。一個類可以有多個物件。一旦聲明瞭一個類,它就可以擁有任意數量的物件。
定義類不會為其分配任何記憶體。記憶體是在例項化時建立的。類在程式開始時宣告,可以透過其物件在整個程式中訪問。
類封裝了其中的資料成員和成員函式。如果將水果視為一個類,那麼蘋果、芒果、葡萄等不同種類的水果就被視為物件。
以下是使用類的益處
類促進了資料封裝的概念,其主要目標是資料隱藏。它防止其他人意外修改和訪問資料。除非類被其物件呼叫,否則無法訪問它。
大型程式碼可以分解成類,這有助於程式碼重用。
它允許繼承。一個類可以繼承其他類的函式。繼承屬性的類稱為子類或派生類,另一個繼承屬性的類稱為超類或基類。
什麼是 Java 中的物件?
類的例項稱為物件。它是現實世界中的實體,用於訪問類的成員變數和成員函式。物件被稱為類的變數。
每次建立物件時,都會為其分配記憶體。每次呼叫物件時,都可以訪問類的成員函式。
每個物件都具有關聯的狀態和行為。如果我們將貓視為一個類,它包含不同品種貓的資訊,這些資訊就是它的不同物件。每個物件都有一些共同的屬性,例如品種、顏色、年齡等。這些元素構成了該類的成員變數,而這些物件執行的函式是吃、睡、走等,這些被稱為它們的成員函式。因此,由於這些資料成員對每個物件都是唯一的,我們獲得了類“貓”的不同物件。
基於其工作,物件被分類為以下型別
函式物件
容器物件
不可變物件
工廠物件
以下是使用物件的某些益處
物件用於訪問類成員
我們可以在程式碼的任何地方呼叫和使用類
它們用於更改資料
物件允許輕鬆除錯
Java 中的物件和類:示例
示例
在下面的示例中,Puppy 是一個類,而 myPuppy 是一個物件。
public class Puppy { public Puppy(String name) { // This constructor has one parameter, name. System.out.println("Passed Name is: " + name); } public static void main(String []args) { // Following statement would create an object myPuppy Puppy myPuppy = new Puppy("tommy"); } }
輸出
如果我們編譯並執行上述程式,則它將產生以下輸出
Passed Name is: tommy
差異:物件和類
下表重點介紹了物件和類之間的主要區別 -
類 |
物件 |
---|---|
類被稱為物件的藍圖 |
類的例項被稱為物件 |
類是使用者定義的資料型別 |
物件是類的變數 |
它包含資料成員和成員函式 |
類的資料和方法可以透過這些物件訪問 |
一個類可以有多個物件 |
一個物件只繫結到一個類 |
類沒有分配記憶體 |
每次建立物件時都會分配記憶體 |
它是邏輯實體 |
它是物理實體 |
類只能建立一次 |
物件可以建立多次 |
它們不能被操作,因為它與任何記憶體都不相關 |
物件可以被操作 |
它沒有繫結到它的值 |
物件有自己的值 |
類在程式開始時建立 |
物件可以在程式的任何地方建立 |
結論
類是建立物件的模板。它包含資料和函式,以便以後可以在其物件需要時隨時訪問。物件的主要任務是獲取類中存在的資料或使用這些類中的函式來操作資料。類必須有一個物件。否則,它將無法使用。但是,物件只能為現有的類建立。
類和物件一起保護資料並促進許多其他概念,如資料抽象、封裝、多型性、繼承等,因此,這些類和物件構成了面向物件程式設計的基礎。