多型的概述
1.多型的體現
父類引用指向子類物件
2.多型的前提
(1)必須得類與類存在關係,可以是繼承關係,也可以是實現關係(介面)
(2)必須得有重寫
3.多型的好處
大大提高了程式的可擴充套件性
4.多型的弊端
提高的程式的可擴充套件性,但是隻能用父類放入引用,訪問到父類中的成員
多型成員變數的特點:
1.編譯期間:參閱的是引用型變數是否有所屬此類中是否有呼叫的方法
2.執行期間:參閱物件物件所屬的類中是否有呼叫的方法
public class Test {
public static void main(String[] args){
Cat c=new Cat();
function(c);
Dog d=new Dog();
function(d);
}
public static void function(Animal c){
c.sing();
}
}
class Animal{
void sing(){
System.out.println("唱歌");
}
}
class Dog extends Animal{
void sing(){
System.out.print("汪汪的唱歌");
}
}
class Cat extends Animal{
void sing(){
System.out.println("喵喵的唱歌");
}
void catchMouse(){
System.out.print("捕鼠");
}
}
public class Test {
public static void main(String[] args){
Cat c=new Cat();
function(c);
//Dog d=new Dog();
//function(d);
}
public static void function(Animal c){
Cat c1=(Cat)c;
c1.catchMouse();
}
}
class Animal{
void sing(){
System.out.println("唱歌");
}
}
class Dog extends Animal{
void sing(){
System.out.print("汪汪的唱歌");
}
}
class Cat extends Animal{
void sing(){
System.out.println("喵喵的唱歌");
}
void catchMouse(){
System.out.print("捕鼠");
}
}
相關文章
- 多型性概述多型
- 多執行緒的概述執行緒
- Java 的多型Java多型
- 多型的總結多型
- java中的多型Java多型
- 多型~多型
- 多型。多型
- 多型多型
- 3 配置和管理多租戶環境的概述
- 多型中的返回值型別多型型別
- 什麼是多型?物件導向中對多型的理解多型物件
- Java 多執行緒 - 總結概述Java執行緒
- php-多型的理解PHP多型
- 使用多型的好處多型
- 多型的機制原理多型
- 多型體驗,和探索爺爺類指標的多型性多型指標
- redis各資料型別應用概述Redis資料型別
- 多型性多型
- Java多型Java多型
- 11 #### 多型多型
- 多型,向上向下轉型多型
- 2 多租戶體系結構概述
- 技術分享 | 雲原生多模型 NoSQL 概述模型SQL
- JAVA高階物件導向二:認識多型 多型的好處Java物件多型
- JavaScript 的繼承與多型JavaScript繼承多型
- 精讀《React 的多型性》React多型
- Javascript的繼承與多型JavaScript繼承多型
- Python 3.6:多型的實現Python多型
- 建立多種型別的流型別
- Rust 的三種多型性Rust多型
- OOP的多型和繼承OOP多型繼承
- 何為Java 中的多型?Java多型
- Java-對多型的理解Java多型
- Python3 基礎資料型別概述Python資料型別
- 什麼是Java多型?如何實現Java多型?Java多型
- java多型demoJava多型
- java多型特性Java多型
- C++——多型C++多型