有關 關鍵字 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 ...