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

區別:物件和類

下表重點介紹了物件和類之間的主要區別:

物件

類被稱為物件的藍圖

類的例項稱為物件

類是使用者定義的資料型別

物件是類的變數

它包含資料成員和成員函式

類的資料和方法可以透過這些物件訪問

一個類可以有多個物件

一個物件只與一個類繫結

沒有為類分配記憶體

每次建立物件時都會分配記憶體

它是邏輯實體

它是物理實體

類只能建立一次

物件可以建立多次

它們不能被操作,因為它不與任何記憶體關聯

物件可以被操作

它沒有與其繫結的值

物件有自己的值

類是在程式的開頭建立的

物件可以在程式的任何地方建立

結論

類是建立物件的模板。它包含資料和函式,以便以後可以在需要時透過其物件訪問它們。物件的主要任務是獲取類中存在的資料,或使用這些類中的函式來操作資料。類必須有物件,否則無法使用。但物件只能為現有類建立。

類和物件一起保護資料並促進許多其他概念,如資料抽象、封裝、多型性、繼承等,因此,這些類和物件構成了面向物件程式設計的基礎。

更新於:2023年6月23日

1000+ 瀏覽量

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.