1. 程式人生 > 實用技巧 >第八章、面向物件(五)

第八章、面向物件(五)

第七章 面向物件

今天內容

1.final關鍵字
2.建立建立的過程
3.多型
4.抽象類
5.介面

final關鍵字(重點)

final本意為"最終的",無法更改的。可以修飾類、成員方法以及成員變數
 
final修飾類    最終類             表示該類不能被繼承
final修飾方法  最終方法         表示該方法不能被重寫
final修飾變數  最終變數

使用方式

final關鍵字修飾類表示該類不能被繼承,比如說:java.lang.System/String類等;
    - 通常用於防止濫用繼承。
final關鍵字修飾成員方法表示該方法不能被重寫;
    -如:java.text.SimpleDateFormat類中的format()方法
    - 通常用於防止不經意間造成的重寫。
final關鍵字修飾成員變量表示必須指定初始化而且不能更改。
    - 如:java.lang.Thread類中的MAX_PRORITY
    - 通常用於描述常量的資料。
 
 
補充:
    在Java語言中很少單獨使用static關鍵字還有final關鍵字,通常使用 public static final 共同修飾成員變數來表示常量的概念,常量的命名規則是:所有字母都是大寫,不同的單詞之間使用下劃線連線。
 
    例如:
        public static final double PI = 3.14;

建立建立的過程

單個物件建立的過程

1.將xxx.class檔案中相關類資訊讀取到記憶體空間的方法區,這個過程叫做類的載入。
2.當程式開始執行時找main()方法去執行方法體中的語句,使用new來建立物件。
3.若沒有執行初始值採用預設初始化,否則採用執行的數值來作為初始化。
4.可以通過構造塊來更改成員變數的數值。
5.執行構造方法體中的語句可以再次修改成員變數的數值。
6.此時物件建立完畢,繼續執行後續的語句。

子類物件建立的過程

1.先載入父類再去載入子類,先執行父類的靜態語句塊,在執行子類的靜態語句塊;
2.執行父類的構造塊,在執行父類的構造方法體,此時父類部分構造完畢。
3.執行子類的構造塊,在執行子類的構造方法體,此時子類物件構造完畢;