java 物件導向(2)

2021-06-09 01:52:04 字數 1495 閱讀 8696

有關 關鍵字 private   final  和 abstract

1. private

private :私有,許可權修飾符:用於修飾類中的成員(成員變數,成員函式)。

私有只在本類中有效。

將age私有化以後,類以外即使建立了物件也不能直接訪問。

但是人應該有年齡,就需要在person類中提供對應訪問age的方式。

注意:私有僅僅是封裝的一種表現形式。

之所以對外提供訪問方式,就因為可以在訪問方式中加入邏輯判斷等語句。

對訪問的資料進行操作。提高**健壯性。

2.final

final : 最終。作為乙個修飾符,

1,可以修飾類,函式,變數。

2,被final修飾的類不可以被繼承。為了避免被繼承,被子類複寫功能。

3,被final修飾的方法不可以被複寫。

4,被final修飾的變數是乙個常量只能賦值一次,既可以修飾成員變數,有可以修飾區域性變數。

當在描述事物時,一些資料的出現值是固定的,那麼這時為了增強閱讀性,都給這些值起個名字。方便於閱讀。

而這個值不需要改變,所以加上final修飾。作為常量:常量的書寫規範所有字母都大寫,如果由多個單詞組成。

單詞間通過_連線。

5,內部類定義在類中的區域性位置上是,只能訪問該區域性被final修飾的區域性變數。

3.private

當多個類中出現相同功能,但是功能主體不同,

這是可以進行向上抽取。這時,只抽取功能定義,而不抽取功能主體。

抽象:看不懂。

抽象類的特點:

1,抽象方法一定在抽象類中。

2,抽象方法和抽象類都必須被abstract關鍵字修飾。

3,抽象類不可以用new建立物件。因為呼叫抽象方法沒意義。

4,抽象類中的抽象方法要被使用,必須由子類複寫起所有的抽象方法後,建立子類物件呼叫。

如果子類只覆蓋了部分抽象方法,那麼該子類還是乙個抽象類。

抽象類和一般類沒有太大的不同。

該如何描述事物,就如何描述事物,只不過,該事物出現了一些看不懂的東西。

這些不確定的部分,也是該事物的功能,需要明確出現。但是無法定義主體。

通過抽象方法來表示。

抽象模擬一般類多個了抽象函式。就是在類中可以定義抽象方法。

抽象類不可以例項化。

不能和abstract 共存的關鍵字有 private ,final ,static

原因是:

final:被final修飾的類不能有子類。而被abstract修飾的類一定是乙個父類。

private: 抽象類中的私有的抽象方法,不被子類所知,就無法被複寫。

而抽象方法出現的就是需要被複寫。

static:如果static可以修飾抽象方法,那麼連物件都省了,直接類名呼叫就可以了。

可是抽象方法執行沒意義。

特殊:抽象類中可以不定義抽象方法,這樣做僅僅是不讓該類建立物件。

Java物件導向(2)

位置不同 成員變數 類中方法外 區域性變數 方法定義中或方法宣告上 記憶體不同 成員變數 堆記憶體 區域性變數 棧記憶體 生命週期不同 成員變數 隨著物件的建立而存在,隨著物件的消失而消失 區域性變數 隨著方法的呼叫而存在,隨著方法的呼叫完畢而消失 初始化值不同 成員變數 有預設出事值 區域性變數 ...

java物件導向2

初始化物件 給物件的屬性賦值 1 直接賦值法 不常用 除非是那種固定不變值只有乙個的 2.傳參方法 public class student public void show2 student stu1 public student public student string name,int ag...

java基礎 物件導向(2)

一 建構函式 乙個完整的類由屬性和方法構成,其中有一種方法的作用是對物件進行初始化,這種函式就是建構函式 建構函式的特點 1 函式名與類名相同 2 不用定義返回型別 3 不可以寫return語句 4 乙個類可以擁多個構造函,每個建構函式的引數不相同,以過載的形式存在 示例 public class ...