亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

一篇文章帶你了解java接口與繼承

 更新時間:2021年08月01日 09:53:52   投稿:BJT  
這篇文章主要介紹了Java接口和繼承操作,結(jié)合具體實例形式分析了Java接口和繼承與使用的相關(guān)原理、操作技巧與注意事項,需要的朋友可以參考下

JAVA接口的概念

官方解釋:Java接口是一系列方法的聲明,是一些方法特征的集合,一個接口只有方法的特征沒有方法的實現(xiàn),因此這些方法可以在不同的地方被不同的類實現(xiàn),而這些實現(xiàn)可以具有不同的行為(功能)。

我的理解:在類中,方法是具體的,通過接口我們可以將具體的方法抽象化。比如在動物類中有吃的動作,不同的動物吃不同的食物,食肉食草等,通過接口我們可以對不同的動物調(diào)用不同的接口方法。

接口的代碼實現(xiàn)

定義關(guān)鍵字:interface

public interface 接口名{
//里面不可以有具體的方法體?。?!
}

實現(xiàn) 關(guān)鍵字: 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("乘坐飛機");
    }
    //一個類中只能有一個方法 可以再次創(chuàng)建一個類 寫第二種方法
}

結(jié)果:
乘坐飛機
Process finished with exit code 0

注意事項

1.接口不能被實例化。

2.接口中所有方法不能有主體。

3.一個類可以實現(xiàn)多個接口。

4.接口可以有變量,但一定是public static final 修飾,就算你不寫,JVM也會默認(rèn)是這個。

5.接口中的方法只能是public修飾。

6.一個接口不能繼承其他類,但是可以繼承別的接口。

Java繼承

什么是繼承:

繼承就是子類繼承父類的特征和行為,使得子類對象(實例)具有父類的實例域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為。 為什么要用繼承:可以去掉重復(fù)代碼,方便后期維護

舉個列子,大家應(yīng)該都玩過英雄聯(lián)盟,每個英雄都是一個類,如果說不用繼承的話每次都要重復(fù)定義每個英雄的成員屬性,如下圖我舉了一個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;
}

這樣就創(chuàng)建了兩個單獨獨立的英雄類,可以發(fā)現(xiàn)前半部分代碼都是重復(fù)的,下面我們用繼承來看一下

首先創(chuàng)建一個父類:

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;
    }
 }

在此之中,父類的屬性和方法 子類都可以繼承到并 直接調(diào)用,簡潔了代碼,后期維護的過程中也不容易出錯

總結(jié)

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Java變量常量聲明和定義原理解析

    Java變量常量聲明和定義原理解析

    這篇文章主要介紹了Java變量常量聲明和定義原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • 如何在spring boot中進行參數(shù)校驗示例詳解

    如何在spring boot中進行參數(shù)校驗示例詳解

    這篇文章主要介紹了如何在spring-boot中進行參數(shù)校驗及l(fā)ombok的使用詳解,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • ThreadLocal使用案例_動力節(jié)點Java學(xué)院整理

    ThreadLocal使用案例_動力節(jié)點Java學(xué)院整理

    這篇文章主要介紹了ThreadLocal使用案例分析,需要的朋友可以參考下
    2017-08-08
  • mybatis-plus的自動填充時間的問題(添加到數(shù)據(jù)庫的時間比當(dāng)前時間多4個小時)

    mybatis-plus的自動填充時間的問題(添加到數(shù)據(jù)庫的時間比當(dāng)前時間多4個小時)

    這篇文章主要介紹了mybatis-plus的自動填充時間的問題(添加到數(shù)據(jù)庫的時間比當(dāng)前時間多4個小時),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • spring boot教程之產(chǎn)生的背景及其優(yōu)勢

    spring boot教程之產(chǎn)生的背景及其優(yōu)勢

    這篇文章主要介紹了spring boot教程之產(chǎn)生的背景及其優(yōu)勢的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • 解決對接JAVA SM2加密遇到的坑

    解決對接JAVA SM2加密遇到的坑

    這篇文章主要介紹了解決對接JAVA SM2加密遇到的坑,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • 淺談一下RabbitMQ、Kafka和RocketMQ消息中間件對比

    淺談一下RabbitMQ、Kafka和RocketMQ消息中間件對比

    這篇文章主要介紹了淺談一下RabbitMQ、Kafka和RocketMQ消息中間件對比,消息中間件屬于分布式系統(tǒng)中一個字系統(tǒng),關(guān)注于數(shù)據(jù)的發(fā)送和接收,利用高效可靠的異步信息傳遞機制對分布式系統(tǒng)中的其余各個子系統(tǒng)進行集成,需要的朋友可以參考下
    2023-05-05
  • Spring?Security?過濾器注冊脈絡(luò)梳理

    Spring?Security?過濾器注冊脈絡(luò)梳理

    這篇文章主要介紹了Spring?Security過濾器注冊脈絡(luò)梳理,Spring?Security在Servlet的過濾鏈中注冊了一個過濾器FilterChainProxy,它會把請求代理到Spring?Security自己維護的多個過濾鏈,每個過濾鏈會匹配一些URL,如果匹配則執(zhí)行對應(yīng)的過濾器
    2022-08-08
  • Shiro集成Spring之注解示例詳解

    Shiro集成Spring之注解示例詳解

    Shiro想必大家都知道了,是目前使用率要比spring security都要多的一個權(quán)限框架,下面這篇文章主要給大家介紹了關(guān)于Shiro集成Spring之注解的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-09-09
  • JDK動態(tài)代理之ProxyGenerator生成代理類的字節(jié)碼文件解析

    JDK動態(tài)代理之ProxyGenerator生成代理類的字節(jié)碼文件解析

    這篇文章主要為大家詳細(xì)介紹了JDK動態(tài)代理之ProxyGenerator生成代理類的字節(jié)碼文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02

最新評論