(1)访问控制 (2)final关键字 (3)对象创建的过程 (4)多态
1.訪問控制(筆試題)
1.1 常用的訪問控制符
public - 公有的
protected - 保護的
啥也不寫 - 默認的
private - 私有的
1.2 訪問控制符的比較
訪問控制符 訪問權限 本類 本包中的類 子類 其他包的類
---------------------------------------------------------------------------
public 公有的 ok ok ok ok
protected 保護的 ok ok ok no
啥也不寫 默認的 ok ok no no
private 私有的 ok no no no
要求大家掌握的內容:
a.public修飾的內容表示可以在任意位置使用;
b.private修飾的內容只能在本類內部使用;
c.通常情況下,成員變量都用private修飾,成員方法都用public修飾;
1.3 包的定義
package 包名;
package 包名1.包名2...包名n;
定義包的主要目的就是為了便于文件的管理以及區分同名的文件。
2.final關鍵字(重點)
2.1 基本概念
final本意為"最終的,不可更改的",該關鍵字可以修飾類、成員方法以及成員變量。
2.2 使用方式
final關鍵字修飾類體現在不能被繼承;
- 為了防止濫用繼承,如:String類、System類等。
final關鍵字修飾成員方法體現在不能被重寫;
- 為了防止不經意間造成方法的重寫,如:SimpleDateFormat類中的format()方法。
final關鍵字修飾成員變量體現在該成員變量必須初始化而且不能更改;
- 為了防止不經意間造成數值的改變,如:Thread.MAX_PRIORITY等
擴展:
在以后的編程中單獨使用static或final關鍵字修飾變量的場合很少,通常都是使用public static final共同修飾該變量來表達常量的含義,常量的命名規則是:所有字母都大寫,不同單詞之間采用下劃線連接。
如:
public static final double PI = 3.14;
3.對象創建的過程(了解)
3.1 單個對象創建的執行過程
(1)當創建對象時會在堆區中申請內存空間,采用默認初始化的方式來處理成員變量;
(2)采用顯式初始化來進行成員變量的處理;
(3)執行構造塊中的代碼,可以給成員變量再次賦值;
(4)執行構造方法體中的代碼,此時對象構造完畢;
3.2 子類對象創建的執行過程
(1)當創建子類對象時會在堆區中申請內存空間;
(2)先加載父類再加載子類,因此先執行父類的靜態語句塊,再執行子類的靜態語句塊;
(3)先執行父類的構造塊,再執行父類的構造方法體,此時父類部分構造完畢;
(4)先執行子類的構造塊,再執行子類的構造方法體,此時子類對象構造完畢;
4.多態(重中之重)
4.1 基本概念
多態主要指同一種事物表現出來的多種形態。
飲料:可樂、雪碧、加多寶、樂虎、紅牛、... ...
寵物:貓、狗、鳥、魚、小強、...
整數:byte b = 10; short s = 10; int i = 10; ...
... ...
4.2 語法格式
父類類型 引用變量名 = new 子類類型();
如:
Pet pc = new Cat();
pc.show();
解析:
在編譯階段調用Pet類中的show()方法,在運行階段調用Cat類中重寫以后的show()方法。
4.3 注意事項
(1)使用父類的引用指向子類的對象時,父類的引用可以直接調用父類中的成員方法;
(2)使用父類的引用指向子類的對象時,父類的引用不可以直接調用子類中的成員方法;
(3)對于非靜態的成員方法來說,編譯階段調用父類版本,運行階段調用子類版本;
(4)對于靜態的成員方法來說,編譯和運行階段調用父類版本,與對象無關;
4.4 引用數據類型之間的轉換
(1)引用數據類型之間的轉換分為兩種:自動類型轉換 和 強制類型轉換;
其中子類類型向父類類型的轉換發生自動類型轉換;
其中父類類型向子類類型的轉換需要強制類型轉換;
(2)引用數據類型之間的轉換必須發生在父子類之間,否則編譯報錯;
(3)當轉換的子類類型并不是該引用真正指向的子類類型時,編譯階段通過,運行階段
發生類型轉換異常;
(4)為了避免上述錯誤的發生,建議每次強制類型轉換之前使用以下格式進行判斷:
if(引用變量名 instanceof 目標類型){}
- 判斷引用變量名真正指向的對象是否為目標類型,若是則返回true,否則返回false
4.5 多態的實際意義
多態的實際意義在于屏蔽不同子類的差異性實現通用的編程,從而帶來不同的結果。
轉載于:https://www.cnblogs.com/sumboy/p/8604169.html
總結
以上是生活随笔為你收集整理的(1)访问控制 (2)final关键字 (3)对象创建的过程 (4)多态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 沉沦纺锤配招?
- 下一篇: 木地板一平方多少钱啊?