面向?qū)ο?/h2>
面向過程:對于面向過程思想,強調(diào)的是過程(動作)。
面向?qū)ο螅簩τ诿嫦驅(qū)ο笏枷?,強調(diào)的是對象(實體)。
特點:
1,面向?qū)ο缶褪且环N常見的思想。符合人們的思考習慣。
2,面向?qū)ο蟮某霈F(xiàn),將復雜的問題簡單化。
3,面向?qū)ο蟮某霈F(xiàn),讓曾經(jīng)在過程中的執(zhí)行者,變成了對象中的指揮者。
類與對象:
java語言對現(xiàn)實生活中的事物進行描述,通過類的形式來體現(xiàn)的。
對于事物描述通常只關(guān)注兩方面:一個是屬性,一個是行為。
只要明確該事物的屬性和行為并定義在類中即可。
類:事物的描述。
對象:該類事物的實例。在java中通過new來創(chuàng)建的。定義類其實就是在定義類中的成員。
成員:成員變量<-->屬性,成員函數(shù)<-->行為。
成員變量和局部變量的區(qū)別:
1,成員變量定義在類中,整個類中都可以訪問。
局部變量定義在函數(shù),語句,局部代碼塊中,只在所屬的區(qū)域有效。2,成員變量存在于堆內(nèi)存的對象中。
局部變量存在于棧內(nèi)存的方法中。3,成員變量隨著對象的創(chuàng)建而存在,隨著對象的消失而消失。
局部變量隨著所屬區(qū)域的執(zhí)行而存在,隨著所屬區(qū)域的結(jié)束而釋放。4,成員變量都有默認初始化值。
局部變量沒有默認初始化值。
匿名對象
匿名對象:沒有名字的對象 ,例如new Car(); 其實就是定義對象的簡寫格式。
匿名對象使用時需注意點:1,當對象對方法僅進行一次調(diào)用的時候,就可以簡化成匿名對象。
2,匿名對象可以作為實際參數(shù)進行傳遞。 例如show(new Car());
面向?qū)ο蟮奶卣饕?封裝
封裝:是指隱藏對象的屬性和實現(xiàn)細節(jié),僅對外提供公共訪問方式。
好處:
將變化隔離。
便于使用。
提高重用性。
提高安全性。
封裝原則:
將不需要對外提供的內(nèi)容都隱藏起來。
把屬性都隱藏,提供公共方法對其訪問。
PRivate:私有,是一種權(quán)限修飾符,用于成員變量,不可用于局部變量。
私有的內(nèi)容只在本類中有效。
注意:私有僅僅只是封裝的一種體現(xiàn)而已,不私有也能完成封裝。
構(gòu)造函數(shù)
構(gòu)造函數(shù):構(gòu)建創(chuàng)造對象時調(diào)用的函數(shù),作用:可以給對象進行初始化。
注:一個類中如果沒有定義過構(gòu)造函數(shù),那么該類中會有一個默認的空參數(shù)構(gòu)造函數(shù);如果在類中定義了指定的構(gòu)造函數(shù),那么類中的默認構(gòu)造函數(shù)就沒有了。
一般函數(shù)與構(gòu)造函數(shù)的區(qū)別:
構(gòu)造函數(shù):對象創(chuàng)建時,就會調(diào)用與之對應的構(gòu)造函數(shù),對對象進行初始化,會調(diào)用且只調(diào)用一次。
一般函數(shù):對象創(chuàng)建后,需要該函數(shù)功能時才調(diào)用,可以被調(diào)用多次。
什么時候定義構(gòu)造函數(shù)呢?
在描述事物時,該事物一存在就具備的一些內(nèi)容,這些內(nèi)容都定義在構(gòu)造函數(shù)中。
特點:
1.函數(shù)名與類名相同。
2.不用定義返回值類型。
3.沒有具體的返回值。
作用:
給對象進行初始化。
注意:
1.默認構(gòu)造函數(shù)的特點。
2.多個構(gòu)造函數(shù)是以重載的形式存在的。(重載時注意函數(shù)名一致,并且對應位置上的參數(shù)類型不同為重載)
構(gòu)造函數(shù)需要注意的細節(jié):
1.構(gòu)造函數(shù)只在初始化調(diào)用一次,一般函數(shù)可多次重復調(diào)用。
2.構(gòu)造函數(shù)中可以包含一般函數(shù),而一般函數(shù)不能直接調(diào)用構(gòu)造函數(shù),只有在一般函數(shù)中創(chuàng)建對象才能調(diào)用。
3.構(gòu)造函數(shù)沒有返回類型,一般命名與類名一致為大寫。
4.創(chuàng)建對象只能在現(xiàn)有構(gòu)造函數(shù)格式中創(chuàng)建,默認構(gòu)造函數(shù)是指沒有定義構(gòu)造函數(shù)的情況下。
5.構(gòu)造函數(shù)中可以包含return,作為函數(shù)的結(jié)束的,一般情況下不需要。
新聞熱點
疑難解答