物件導向初見

2021-09-25 12:38:59 字數 1804 閱讀 2939

物件導向是一種思想,我們可以將世界萬物都歸為乙個類、乙個物件。

就好比哈士奇,它屬於雪橇犬這一類,而雪橇犬也屬於犬科。

犬科類動物都具有吃、喝、睡覺、叫等功能;雪橇犬不僅具有這些功能,還具有禦寒的功能;哈士奇具有了犬科、雪橇犬科等共有的特性,還具有了傻的特性。

而在物件導向中,犬科、雪橇犬科都是乙個抽象類,是看不見摸不著的。而哈士奇是乙個具體的例項物件,我們可以看得見摸得著。它可以呼叫之前抽象類的屬性和方法,這是他們共有的特性,它也具有自己的特性和功能。

在物件導向程式設計中,我們需要將需求分解成多個例項,通過例項相互之間呼叫傳送訊息,來幫助我們完成具體功能的實現。

類是物件的模板,它規範了乙個物件具有的屬性和方法。我們可以通過類來建立乙個物件的例項。

建立方法是:

先建立乙個物件的引用,然後通過關鍵字new呼叫類的構造方法建立乙個物件的例項,再將這個物件例項的位址傳給物件的引用

object oj = new object();
建立物件在記憶體空間的示意圖:

靜態變數:

使用關鍵字static標識,定義為靜態變數之後,靜態常量池會為該變數開闢空間,此時該變數不會再棧空間或堆空間中。靜態變數會在類載入的時候就進行載入,且只會載入一次。

public static int a = 1;
最終變數:使用關鍵字final標識,定義為最終變數之後,系統只有一次為其分配值的機會,且分配完成之後,該值不能夠被改變。

public final int a = 1;
區域性變數:定義在方法體中的變數,不能夠使用static修飾,有明確的生命週期。當方法體結束時,該變數生命週期結束。意味著區域性變數在方法體之內是有效的,當方法體結束之後,該變數消失。

public void mothed()
例項變數:當建立例項之後,才會進行載入的變數叫例項變數。

class test
成員變數:定義在類之下,方法體之外的例項變數和靜態變數。

注意:

經過靜態識別符號宣告過的變數以及方法,在其他類中可以直接通過類名呼叫,不用再去例項化乙個物件進行呼叫,但是非靜態的方法不能夠訪問到靜態中的成員變數以及方法。

變數的呼叫 :

乙個物件的呼叫方法要看該變數的儲存方式,如果當前變數儲存在靜態常量池中,那麼該變數可以使用「類名.變數名」呼叫 ,即類名直接呼叫

如果該變數定義在類中,但是沒有用static修飾,那麼就需要使用物件來進行呼叫

class test1
class test2

}

每個物件的模板類都還會有乙個構造方法,如果程式設計師在編寫類的時候沒有設計該類的構造方法,那麼在此類載入的時候,系統會預設給當前類新增乙個預設的無參構造方法:

public class test

}

構造方法是用來建立乙個物件的方法,它的命名規則是必須與類名相同,並且沒有返回值型別約束。在建立乙個物件的引用之後,通過new關鍵字,呼叫指定類的構造方法,生成該類物件。構造方法能夠被過載,但是構造方法沒有返回型別的規定。

物件導向 初識物件導向

面向過程思想 步驟清晰簡單,第一步做什麼,第二步做什麼.面向過程適合處理一些較為簡單的問題 物件導向思想 物以類聚,分類的思維模式,思考問題首先會解決問題需要分哪些類,然後對這些類進行單獨思考,最後才是對某個分類下的細節進行面向過程的思索 物件導向適合處理複雜的問題,適合處理需要多人協作的問題 對於...

物件導向程式設計01 面向過程 物件導向

前面12講我已經寫完了從零開始學j ase 慶祝完結撒花!那麼從今天開始正式步入物件導向程式設計。建議開啟本章之前先回顧 j ase010方法詳解和 j a變數與方法的呼叫 同類操作中與跨類操作中的對比 物件導向程式設計 oop object oriented programming 物件導向程式設...

物件導向過程與物件導向

物件導向過程與物件導向 1 程式的發展經歷了兩個階段 面向過程 物件導向。2 對於物件導向與面向過程可以用乙個例子解釋,如乙個木匠要做乙個盒子,那麼這個盒子的出發點會有兩種方式 物件導向 先想好要做的盒子,之後在去找相應的工具去做。面向過程 不去想要做什麼樣的盒子,隨需取工具。物件導向三大特徵 封裝...