1. 程式人生 > >深入理解Java封裝、繼承、多態

深入理解Java封裝、繼承、多態

釋放 prot 外部 sta itl ash 深入理解java tro 存在

轉載請註明原文地址:https://www.cnblogs.com/ygj0930/p/10830957.html

一:封裝

將類的某些信息隱藏在類內部,不允許外部程序直接訪問,而是通過該類提供的方法來實現對隱藏信息的操作和訪問,常見的實現方式就是:getter、setter。

封裝遵循了“開閉原則”,禁止外部直接訪問和修改類的信息。

1、類變量、成員變量和局部變量

類變量(靜態變量):用static修飾的變量稱為靜態變量,其內容被該類的所有對象共享,所有對象中這個類變量的值都指向相同的一處內存,隨便一個對象修改了此處內存的值都會影響其他對象。

成員變量:在類定義時聲明的變量,隨著對象的建立而建立,隨著對象的消失而消失,存在於對象所在的堆內存中。

局部變量:在函數中聲明的變量,只定義在局部範圍內,只在所屬的區域有效。存在於棧內存中,作用的範圍結束,棧幀釋放,變量就消失。

2、成員變量以及方法作用域(可見性)——default、private、protected、public

我們在定義成員變量和方法時,前面都會加上作用域修飾符(如果不加,默認為default)。

不同修飾符作用下,該成員變量或方法的作用域是不同的:

3、構造函數與默認構造函數

二:繼承

繼承是類與類的一種關系,子類擁有父類的所有屬性和方法(除了private修飾的屬性不能擁有)從而實現了實現代碼的復用。

1、繼承與實現的區別

三:多態

1、方法重寫與重載

深入理解Java封裝、繼承、多態