多型:一種事物的多種形態(狀態)
多型的前提(規則)
1.必須類與類之間有關聯(繼承關係)
2.必須要有方法的重寫(否則多型沒有意義)
3.核心:父類的引用指向子類的空間,可以理解為父類的指標指向子類的物件。
public
class
******example
}class
animal
}class
catextends
animal
}class
dogextends
animal
}
當使用多型形式建立物件時
訪問成員變數
編譯時:需要看父類有沒有該變數 沒有就報錯。
執行時:最終訪問到的成員變數是父類中的成員變數。
結論:訪問成員變數時編譯和執行都看父類的。
訪問成員方法
編譯時:需要看父類中有沒有改方法,沒有就報錯。
執行時:最終執行時 入棧執行子類中重寫的方法。
結論:訪問成員方法是編譯時看父類 執行時看子類。
public
class
******example
}class
father
}class
sonextends
father
}
在記憶體中的表現如下圖:
多型的優點
1. 提高工作效率 增強復用性(指的是繼承)。
2.核心:增強方法擴充套件性(使用父類當做方法的引數時)。
多型的弊端
使用多型的形式建立物件,無法直接呼叫子類的特有方法。
public
class
******example
}class
person
}class
pzextends
person
public
void hit()
}
Stoker的Java入門教學之運算子與流程控制
算術運算子 取餘運算 自增 自減 等。關係運算子 主要用來當做判斷條件 邏輯運算子 判斷後 會有布林型別的返回值 關係運算子 邏輯運算子 int n1 1 int n2 2 boolean k n2 n1 n1 0 system.out.println k 1.順序結構 由上至下逐行執行 2.分支結...
gulp入門教學
再去安裝 gulp uglify 建立gulpfile.js 建立壓縮後放檔案的位置 a 建立需要壓縮的檔案位置 b 進入gulpfile.js 編輯 var gulp require gulp var uglify require gulp uglify gulp.task script func...
AWSIOT入門教學
aws iot greengrass 是將雲功能擴充套件到本地裝置的軟體。該軟體使裝置能夠收集和分析更靠近資訊源的資料,自主應對本地事件,並在本地網路上相互安全地通訊。aws iot greengrass 開發人員可以使用 aws lambda 函式和預先構建的 connectors來建立可部署到裝...