如何理解Java面向對象

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父類。