1、final相關:
final可以修飾類、方法、變數。
final修飾的類不能被繼承。
final修飾的方法不能被覆寫。
final修飾的變數不能被重新賦值。
2、多型
前提:繼承關係、
方法覆寫、
【向上轉型】父類引用指向子類物件(即 fu f=new zi())
多型中成員的訪問特點:
fu f=new zi();
①、成員變數:編譯看左邊,執行看左邊;
②、成員方法:編譯看左邊,執行看右邊【因為方法有覆寫,所以執行看右邊】;
③、靜態方法:編譯看左邊,執行看左邊;
④、構造方法:建立子類物件的時候,訪問父類的構造方法,對父類的資料進行初始化。
弊端:父類引用不能使用子類的特有功能(方法等)。
解決:【向下轉型】子類引用再指向父類物件,即:zi z=(zi) f;
3、若想要類不能例項化物件,則只要將類的構造方法私有化即可。
4、抽象方法和抽象類的概念
抽象方法:沒有方法體(即沒有大括號)的方法。
抽象類的特點:
①、abstract關鍵字修飾
②、抽象類中不一定有抽象方法,但有抽象方法的類一定是抽象類。
③、抽象類不能例項化,但可以通過子類向上轉型實現。
抽象類的子類:
①、是乙個抽象類,abstract修飾。
②、重寫父類中的所有抽象方法,成為實現類。
抽象類的成員:
①、成員變數既可以是變數也可以是final修飾的常量。
②、有構造方法的,用於子類訪問父類資料的初始化。
③、成員方法可以是抽象的也可以是非抽象的,但抽象方法要通過子類實現才可以呼叫。
抽象方法讓子類去實現,非抽象方法讓子類繼承。
抽象類的問題:
①、abstract不能與以下關鍵字共存:
private、final、static
②、乙個抽象類是否可以沒有抽象方法?有什麼意義?
抽象類可以沒有抽象方法,這樣的抽象類為了不讓例項化物件。
5、介面特點:
①、介面的定義:
inte***ce 介面名{}
②、類實現介面:
class 類名 implements 介面名{}
③、介面不能例項化
只能按照多型方式例項化
④、介面的子類:
可以是抽象類
可以是具體類:必須重寫介面中的所有抽象方法。
5、介面的成員特點:
成員變數:
只能是常量,並且是靜態的。
預設修飾符:public static final,建議開發中這樣寫。
成員方法:
只能是抽象方法。
預設修飾符:public abstract,建議開發這樣寫。
構造方法:
介面沒有構造方法
介面的子類預設繼承的是object父類,object是所有類的根類。
6、類、介面的關係:
類與類:
繼承關係,只能單繼承,可以多重繼承。
類與介面:
實現關係,可以但實現,也可以多實現;可以在實現之前先繼承。
介面與介面:
繼承關係,可以單繼承,也可以多繼承。
7、抽象類和介面的區別:
①、成員區別:
抽象類:
成員變數:可以變數,也可以常量
成員方法:可以抽象,也可以非抽象
構造方法:有
介面:成員變數:只能常量
成員方法:只能抽象
構造方法:沒有
②、關係區別:
類與類:單繼承
類與介面:實現、單繼承、多實現
介面與介面:繼承、單繼承、多繼承
③、設計理念區別:
抽象類:定義的是共性功能。
介面:定義的是擴充套件功能。
QT零基礎學習之路
qt 學習之路 目錄 序qt 前言 hello,world 訊號槽自定義訊號槽 qt 模組簡介 mainwindow 簡介 新增動作 資源檔案 物件模型 布局管理器 選單欄 工具欄和狀態列 對話方塊簡介 對話方塊資料傳遞 標準對話方塊 qmessagebox 深入 qt5 訊號槽新語法 檔案對話方塊...
零基礎學員逆襲之路
總是聽說有人轉行去做ict了,有人零基礎學xx課程去了,那麼這些人後來都怎麼樣了?今天我們不來虛的 這位鞋童分享他的學習歷程 班主任對這位學員的評價 黃 超在學習上非常的努力,每次下課後同學都走了,他還在做實驗。在生活中也是個非常樂觀向上的陽光男孩!華為合作夥伴企業已突破1萬家,參加華為技術培訓的學...
零基礎到實戰,IT小白的高階之路
動動手指,敲敲鍵盤就能改變世界,這是很多人想象中的程式設計師,擁有著令人羨慕的工資待遇和專業能力,可事實上,程式猿並不是那麼好當的,要想成為一名優秀的程式設計師更是難上加難。如果是非計算機專業的學生的話,那怎麼才能快速成長為一名程式設計師呢?計算機是具有學術性和工具性的雙重屬性學課,不能因為想學it...