一篇文章帶你瞭解java接口與繼承
JAVA接口的概念
官方解釋:Java接口是一系列方法的聲明,是一些方法特征的集合,一個接口隻有方法的特征沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為(功能)。
我的理解:在類中,方法是具體的,通過接口我們可以將具體的方法抽象化。比如在動物類中有吃的動作,不同的動物吃不同的食物,食肉食草等,通過接口我們可以對不同的動物調用不同的接口方法。
接口的代碼實現
定義關鍵字:interface
public interface 接口名{ //裡面不可以有具體的方法體!!! }
實現 關鍵字: implements
public class 類名 implements 接口名,接口名2{ //在這裡重寫接口中的抽象方法 }
舉個列子
小明從南京去北京的方法
public class xiaoming { public void WaytoBeiJing(waytoBeiJing wtbj){ wtbj.WaytoBeiJing(); } public static void main(String[] args) { xiaoming Xiaoming = new xiaoming(); xiaoming_tobeijing xm_tbj = new xiaoming_tobeijing(); Xiaoming.WaytoBeiJing(xm_tbj); } } // 定義接口 public interface waytoBeiJing { public void WaytoBeiJing();//抽象方法 沒有方法體 } //寫方法 public class xiaoming_tobeijing implements waytoBeiJing{ //重寫去北京的方法 @Override public void WaytoBeiJing(){ System.out.println("乘坐飛機"); } //一個類中隻能有一個方法 可以再次創建一個類 寫第二種方法 } 結果: 乘坐飛機 Process finished with exit code 0
註意事項
1.接口不能被實例化。
2.接口中所有方法不能有主體。
3.一個類可以實現多個接口。
4.接口可以有變量,但一定是public static final 修飾,就算你不寫,JVM也會默認是這個。
5.接口中的方法隻能是public修飾。
6.一個接口不能繼承其他類,但是可以繼承別的接口。
Java繼承
什麼是繼承:
繼承就是子類繼承父類的特征和行為,使得子類對象(實例)具有父類的實例域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為。 為什麼要用繼承:可以去掉重復代碼,方便後期維護
舉個列子,大傢應該都玩過英雄聯盟,每個英雄都是一個類,如果說不用繼承的話每次都要重復定義每個英雄的成員屬性,如下圖我舉瞭一個MF,一個EZ的列子
public class MissFortune { // 成員 // 屬性 String nameID; int hp; int ad; int ap; int lv;// 人物等級 // 技能等級 int q_lv; }
public class Ezreal { // 成員 // 屬性 String nameID; int hp; int ad; int ap; int lv;// 人物等級 // 技能等級 int q_lv; }
這樣就創建瞭兩個單獨獨立的英雄類,可以發現前半部分代碼都是重復的,下面我們用繼承來看一下
首先創建一個父類:
public class Hero { // 成員 // 屬性 String nameID; int hp; int ad; int ap; int lv;// 人物等級 // 技能等級 int q_lv; }
然後再看我們的單獨英雄類:
public class MissFortune extends Hero{ // 成員方法 // 初始化 public void initMissFortune(){ hp=570; ad=52; ap=0; lv=1; q_lv=1; } }
public class Ezreal extends Hero { // 成員方法 // 初始化 public void initEzreal(){ hp=530; ad=60; ap=0; lv=1; q_lv=1; } }
在此之中,父類的屬性和方法 子類都可以繼承到並 直接調用,簡潔瞭代碼,後期維護的過程中也不容易出錯
總結
本篇文章就到這裡瞭,希望能給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!