多型的概述
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("捕鼠");
}
}
相關文章
- 多型性概述多型
- 多執行緒的概述執行緒
- 多執行緒概述執行緒
- 多型中的轉型多型
- 泛型概述-基本概念泛型
- 泛型概述-萬用字元泛型字元
- SCSS 資料型別概述CSS資料型別
- 集合框架-泛型類的概述及使用框架泛型
- 集合框架-泛型方法的概述和使用框架泛型
- Java 的多型Java多型
- 多型的理解多型
- 再談多型--多型的應用舉例: (轉)多型
- java中的多型Java多型
- 多型的總結多型
- C++的多型C++多型
- 多型。多型
- 多型~多型
- 多型多型
- 多執行緒-定時器的概述和使用執行緒定時器
- 多執行緒-程式和執行緒的概述執行緒
- Java 多執行緒 - 總結概述Java執行緒
- 【iOS開發】多執行緒 - 概述iOS執行緒
- CSS-多列布局1-概述CSS
- php-多型的理解PHP多型
- 使用多型的好處多型
- C#中的多型C#多型
- Java的OO與多型Java多型
- Java多型Java多型
- 多型性多型
- 多型一多型
- 多型,向上向下轉型多型
- redis各資料型別應用概述Redis資料型別
- 集合框架-泛型介面的概述和使用框架泛型
- 多執行緒-執行緒組的概述和使用執行緒
- 多執行緒-執行緒池的概述和使用執行緒
- JAVA高階物件導向二:認識多型 多型的好處Java物件多型
- 2 多租戶體系結構概述
- 技術分享 | 雲原生多模型 NoSQL 概述模型SQL