當前位置:才華齋>計算機>java語言>

如何理解Java面向物件

java語言 閱讀(8.19K)

Java是一種面向物件的程式開發語言,準確的理解java的面向物件才能更好更快地掌握JAVA的程式設計思想和方法,以下僅供參考!

如何理解Java面向物件

1、什麼是物件?

首先要說明一點,物件不是java的,事實上他只是一種概念,一種用於解決問題的程式設計的思想方法。要理解物件就必須得要和麵向物件結合起來。在面向物件中把某一類事物所共有的屬性和行為抽象出來之後就形成了一個類。而類的一個實際的例子就叫做物件。所以從上可以看出類和物件之間存在著這樣一種關係:類是具有共同的屬性名稱和行為的一組物件的抽象,而物件則是一個類的真實的例子。

類是現實世界或思維世界中的實體在計算機中的反映,它將資料以及這些資料上的操作封裝在一起。

類描述了具有相同特性(資料元素、狀態變數)和行為(對資料元素、狀態變數的操作)的物件集合,如果我需要某個具有一定功能的工具,那麼我可自定義這個類,裡面有我需要的資料,還有讓這個類提供的功能。

物件是具有類型別的變數。類和物件是面向物件程式設計技術中的最基本的概念。類是物件的抽象,而物件是類的具體例項。類是抽象的,不佔用記憶體,而物件是具體的,佔用儲存空間。類是用於建立物件的藍圖,它是一個定義包括在特定型別的物件中的方法和變數的軟體模板。

JAVA是一種面向物件的程式設計語言,物件是由類抽象出來的',所有的問題都是通過物件來處理,物件可以操作類的屬性和方法來解決問題,所以瞭解物件的產生、操作和消亡是十分必要的。物件可以認為是在一類事物中抽象出某一個特例,通過這個特例來處理這類事物出現的問題,在Java語言中通過new操作符來建立物件。

2、物件和物件引用。

如下表達式:A a1 = new A; 它代表A是類,a1是引用,a1不是物件,new A才是物件,a1引用指向new A這個物件。

在JAVA裡,“=”不能被看成是一個賦值語句,它不是在把一個物件賦給另外一個物件,它的執行過程實質上是將右邊物件的地址傳給了左邊的引用,使得左邊的引用指向了右邊的物件。JAVA表面上看起來沒有指標,但它的引用其實質就是一個指標,引用裡面存放的並不是物件,而是該物件的地址,使得該引用指向了物件。在JAVA裡,“=”語句不應該被翻譯成賦值語句,因為它所執行的確實不是一個賦值的過程,而是一個傳地址的過程,被譯成賦值語句會造成很多誤解,譯得不準確。

再如:A a2;它代表A是類,a2是引用,a2不是物件,a2所指向的物件為空null;

再如:a2 = a1;它代表,a2是引用,a1也是引用,a1所指向的物件的地址傳給了a2(傳址),使得a2和a1指向了同一物件。

綜上所述,可以簡單的記為,在初始化時,“=”語句左邊的是引用,右邊new出來的是物件。

在後面的左右都是引用的“=”語句時,左右的引用同時指向了右邊引用所指向的物件。再所謂例項,其實就是物件的同義詞。

3、Java繼承性分析。

繼承是面向物件最顯著的一個特性。繼承是從已有的類中派生出新的類,新的類能吸收已有類的資料屬性和行為,並能擴充套件新的能力。Java繼承是使用已存在的類的定義作為基礎建立新類的技術,新類的定義可以增加新的資料或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。這種技術使得複用以前的程式碼非常容易,能夠大大縮短開發週期,降低開發費用。

繼承是java面向物件程式設計技術的一塊基石,因為它允許建立分等級層次的類。繼承可以理解為一個物件從另一個物件獲取屬性的過程。如果類A是類B的父類,而類B是類C的父類,我們也稱C是A的子類,類C是從類A繼承而來的。

在Java中,類的繼承是單一繼承,也就是說,一個子類只能擁有一個父類。繼承中最常使用的兩個關鍵字是extends(IS-A,是一個什麼東西)和implements(Has-A,有一個什麼功能)。這兩個關鍵字的使用決定了一個物件和另一個物件是否是IS-A(是一個)關係。

通過使用這兩個關鍵字,我們能實現一個物件獲取另一個物件的屬性。所有Java的類均是由ct類繼承而來的,所以Object是所有類的祖先類,而除了Object外,所有類必須有一個父類。通過extends關鍵字可以申明一個類是繼承另外一個類而來的,通過使用關鍵字extends,子類可以繼承父類所有的方法和屬性,但是無法使用private(私有)的方法和屬性。我們通過使用instanceof操作符,能夠確定子類IS-A父類。