離散化(一般寫法\unique\unique+vector)
阿新 • • 發佈:2021-07-16
多型是同一個行為具有多個不同表現形式或形態的能力。
多型是方法的多型。和屬性無關。
一個物件的實際型別是確定的,但是可以指向物件的引用的型別有很多(父類)。
多型存在的三個必要條件
- 繼承
- 重寫
- 父類引用指向子類物件:Parent p = new Child();
多型的實現方式
方式一:重寫
方式二:介面
- 生活中的介面最具代表性的就是插座,例如一個三接頭的插頭都能接在三孔插座中,因為這個是每個國家都有各自規定的介面規則,有可能到國外就不行,那是因為國外自己定義的介面型別。
- java中的介面類似於生活中的介面,就是一些方法特徵的集合,但沒有方法的實現。具體可以看 java介面 這一章節的內容。
方式三:抽象類和抽象方法
例子
父類:
package demo04;
public class Person {
public void run(){
System.out.println("super,你倒是說句話呀!");
}
}
子類:
package demo04; public class Student extends Person{ @Override public void run() { System.out.println("son,你不也沒話說嗎!"); } public void eat(){ } }
測試:
import demo04.Person; import demo04.Student; public class Application { public static void main(String[] args) { //一個物件的實際型別是確定的,但是指向的引用型別就不確定了,如父類的引用指向子類 Student s1=new Student(); Person s2=new Student(); Object s3=new Student(); s2.run(); s1.run(); } } 執行結果: son,你不也沒話說嗎! son,你不也沒話說嗎!