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
區別:物件和類
下表重點介紹了物件和類之間的主要區別:
類 |
物件 |
|---|---|
類被稱為物件的藍圖 |
類的例項稱為物件 |
類是使用者定義的資料型別 |
物件是類的變數 |
它包含資料成員和成員函式 |
類的資料和方法可以透過這些物件訪問 |
一個類可以有多個物件 |
一個物件只與一個類繫結 |
沒有為類分配記憶體 |
每次建立物件時都會分配記憶體 |
它是邏輯實體 |
它是物理實體 |
類只能建立一次 |
物件可以建立多次 |
它們不能被操作,因為它不與任何記憶體關聯 |
物件可以被操作 |
它沒有與其繫結的值 |
物件有自己的值 |
類是在程式的開頭建立的 |
物件可以在程式的任何地方建立 |
結論
類是建立物件的模板。它包含資料和函式,以便以後可以在需要時透過其物件訪問它們。物件的主要任務是獲取類中存在的資料,或使用這些類中的函式來操作資料。類必須有物件,否則無法使用。但物件只能為現有類建立。
類和物件一起保護資料並促進許多其他概念,如資料抽象、封裝、多型性、繼承等,因此,這些類和物件構成了面向物件程式設計的基礎。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP