Java是一門支持多態的面向對象編程語言,多態可以分為運行時多態和編譯時多態。下面分別介紹概念和使用方法:
一、運行時多態
運行時多態(Runtime Polymorphism)是通過子類實現父類的方法,表現出不同的行為,實現動態綁定的過程。使用關鍵字“extends”定義一個子類繼承自父類,然后再通過關鍵字“@override”重寫該方法,實現多態。例如:
//定義一個父類 class Animal{ public void run(){ System.out.println("Animal is running..."); } } //定義一個子類 class Dog extends Animal{ @Override public void run(){ System.out.println("Dog is running..."); } } //執行多態方法 Animal a = new Dog(); // 父類的引用指向子類的對象 a.run(); // 調用的是子類的方法
二、編譯時多態
編譯時多態(Compile-time Polymorphism)是通過方法重載實現,實現靜態綁定的過程。方法重載是在同一類中,允許存在多個同名方法,但是參數類型、數量或順序不同。這樣,系統就能自動判斷使用哪個方法。例如:
//定義一個重載方法 public void print(int x){ System.out.println("參數為int類型:"+x); } public void print(String str){ System.out.println("參數為String類型:"+str); } //調用重載方法 Demo d = new Demo(); d.print(5); d.print("Hello");
總之,多態為Java提供了強大的功能,可以使代碼更具靈活性和可擴展性。我們需要根據實際的業務需求來選擇使用不同類型的多態,提高代碼的效率和可讀性。