在Java中,extends和super是面向?qū)ο蟮闹匾拍睿糜趯?shí)現(xiàn)繼承和多態(tài)的特性。
在Java中,繼承是一種常見(jiàn)的面向?qū)ο缶幊碳夹g(shù),可以提高代碼的可重用性和可維護(hù)性,通過(guò)繼承關(guān)系,子類(lèi)可以從父類(lèi)中繼承屬性和方法。
使用extends關(guān)鍵字來(lái)創(chuàng)建一個(gè)類(lèi)的子類(lèi),子類(lèi)會(huì)繼承父類(lèi)的所有屬性和方法,還可以通過(guò)在子類(lèi)中添加方法和屬性來(lái)擴(kuò)展父類(lèi)的功能。例如:
class Animal{ public void move(){ System.out.println("動(dòng)物在移動(dòng)"); } } class Dog extends Animal{ public void eat(){ System.out.println("狗在吃骨頭"); } }
在上面的例子中,Dog類(lèi)繼承了Animal類(lèi),它可以使用Animal類(lèi)中的move()方法,同時(shí)也添加了自己的eat()方法。
在子類(lèi)中調(diào)用父類(lèi)的屬性和方法時(shí),使用super關(guān)鍵字。
class Animal{ String name; public Animal(String name){ this.name = name; } } class Dog extends Animal{ public Dog(String name){ super(name); } }
在上面的例子中,Dog類(lèi)繼承了Animal類(lèi),并且通過(guò)super關(guān)鍵字調(diào)用了父類(lèi)的構(gòu)造方法,以便在Dog類(lèi)中也可以初始化父類(lèi)的屬性。
總的來(lái)說(shuō),extends和super關(guān)鍵字是Java中實(shí)現(xiàn)面向?qū)ο缶幊痰闹匾ぞ撸ㄟ^(guò)繼承和多態(tài),可以實(shí)現(xiàn)代碼的可重用性和可維護(hù)性。