//寫了乙個a類在class前新增了open,表示可以被繼承
open class a()
//編寫b類,繼承了a類
class b:a()
//首先是類的定義,定義類時要給class前新增open表示開發可被繼承
open class b(val name:string)
open fun b.react(name:string):unit
//沒有新增open的方法在之後可被子類過載
fun react(paricle:particle):unit
}
//如果在main方法中執行
val al = b("鋁")
al.react(particle())
al.react(electron())
//結果會是:鋁 與粒子發生反應
鋁 與粒子發生反應
並沒有調到子類的方法輸出
以上為乙個繼承父類後新增多個子類方法的類,下面寫乙個繼承了electron的類
//c類,繼承了b類
class c(name:string):b(name)
override fun b.react(name:string):unit
//這裡的react方法是過載方法,通過傳遞引數的不同執行不同的方法
fun react(particle:electron):unit
}
方法重寫和過載
方法過載就是在乙個類中可以定義多個方法名形同但是方法引數個數 型別 順序至少有乙個不一樣。過載的好處就是 我們可以很根據實際情況靈活地呼叫過載方法。1 構造方法的過載 public class student public student string name public student int...
方法重寫和過載
簡介 在同乙個類中,存在兩個或者兩個以上的同名函式,叫做方法的過載,讓類以統一的方式處理不同型別的資料,是多型的體現。在編譯器的眼裡,方法名稱 引數型別 引數個數,組成唯一鍵,稱為 方法簽名 jvm通過這個唯一的鍵,確定呼叫哪個過載的方法。要求 1 方法名一樣 2 引數列表不一樣 3 與方法的返回型...
方法過載和重寫
方法過載和重寫 過載 過載是發生在本類中的 方法名相同,引數型別和個數不同,方法的過載跟返回值型別和修飾符無關 1 必須具有不同的引數列表 2 可以有不同的返回型別,只要引數列表不同就可以了 3 可以有不同的訪問修飾符 4 可以丟擲不同的異常 重寫 發生在子父類中 所謂方法的重寫是指子類中的方法與父...