(一)抽象
1.概述:將功能定義抽象,那麼該類就是抽象類
2.特點:乙個類中可以抽象方法.也可以有非抽象方法
3.格式:public abstract void method();
4.抽象類的子類特點:
子類可以是抽象類,沒有任何意義.抽象類不能直接例項化,就不能使用呼叫方法!
子類是非抽象類,必須要重寫父類中的抽象方法,然後去使用子類自己的功能
父類是乙個抽象類,如果要建立物件就必須通過子類進行實現.
父類進行例項化只能間接子類進行例項化.
5.抽象類中的成員的特點:
成員變數:可以是變數,也可以是常量(自定義常量)
成員方法:可以是抽象方法,也可以是非抽象方法
構造方法:乙個抽象類中是可以有構造方法的
6.abstract不能和以下的關鍵字共用
關鍵字:private,final,static
private :衝突(要麼使用public/protected)
final :衝突
static:無意義!
7.貓狗案例:
package 抽象;
//貓狗案例
public class abstractdemo
}package 抽象;
//動物抽象類
public abstract class animal
public animal(string name, int age, string color)
//get()/set()
public string getname()
public void setname(string name)
public int getage()
public void setage(int age)
public string getcolor()
public void setcolor(string color)
//抽象方法
public abstract void eat();
public abstract void sleep();
}package 抽象;
//貓類
public class cat extends animal
public cat(string name, int age, string color)
public void eat()
public void sleep()
public void playgame()
}package 抽象;
//狗類
public class dog extends animal
public dog(string name, int age, string color)
@override
public void eat()
@override
public void sleep()
}(二)多型
1.多型:指的是乙個事物,在不同時刻狀態的乙個體現
2.前提條件:
1)必須有繼承關係
2)繼承乙個類的同時,子類中必須有方法重寫(使用子類中的方法去覆蓋父類中的方法)
3)父類的引用指向子類物件
fu f = new zi() ;將f代表的父類引用指向堆記憶體的子類的物件!向上轉型!
3.多型中的成員訪問特點:
package org.westos_多型;
class fu
//成員方法
public void show()
public static void function()
}class zi extends fu
//非靜態成員方法:編譯看左,執行看右
public void show()
//靜態成員方法:編譯看左,執行看左
public static void function()
}//測試類
public class duotaidemo
}4.多型的好處:
提高了**的維護性(由繼承保證)
提高了**的擴充套件性(由多型的保證)
5.多型的弊端:
子類只能使用父類的功能:不能使用子類中特有的功能!
要想使用子類具體功能
1)建立子類物件
2)向下轉型:將父類的引用強制轉換為子類物件
zi z = (zi)(f) ;//還原成子類物件
6.貓狗案例以及乙個執行異常:
package org.westos_多型;
//動物類
class animal
public void sleep()
}//貓類
class cat extends animal
}//狗類
class dog extends animal
}//測試類
public class duotaidemo2
}
多型和抽象
多型就是指 相同的行為不同的實現 特指方法 理解多型 1.靜態多型 編譯期,系統就能決定呼叫哪個方法 通過過載實現 2.動態多型 執行期,系統才能確定動態方法所指的物件 使用動態繫結和重寫實現 注 多型中大量用到動態多型。多型的技術基礎 1.向上轉型技術 子轉父 用到動態繫結技術 執行時根據父類引用...
多型和抽象
經過一天的學習我們需要掌握以下幾點。一 什麼是多型。乙個物件有多種形式的能力乙個類的子類可以定義他們唯一的行動,同時共享父類的某次寫相同特徵。二 了解多型之前需要了解幾個繼承技術。1向上轉型技術 2instaceof關鍵字 3動態繫結技術。三 動態繫結。將乙個方法呼叫與該方法所在的類關聯起立。四 什...
多型和抽象
乙個物件有多重形式的能力,相同的行為不同的實現。乙個介面,多種實現 編譯時系統決定呼叫哪個方法 通過方法的過載實現 方法的過載滿足相同的行為不同的實現 單獨的重寫也是靜態多型 過載1.過載只能通過不同的方法引數來區分。例如不同的引數型別,不同的引數個數,不同的引數順序。2.不能通過訪問許可權 返回型...