欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中引用類型class的用法總結(jié)

 更新時間:2022年10月17日 14:55:27   作者:共飲一杯無  
這篇文章主要為大家詳細介紹了Java中引用類型class的用法的相關(guān)資料,文中的示例代碼講解詳細,對我們學(xué)習(xí)Java有一定幫助,感興趣的可以了解一下

實際的開發(fā)中,引用類型的使用非常重要,也是非常普遍的。我們可以在理解基本類型的使用方式基礎(chǔ)上,進一步去掌握引用類型的使用方式。基本類型可以作為成員變量、作為方法的參數(shù)、作為方法的返回值,那么當(dāng)然引用類型也是可以的。

class作為成員變量

角色類

在定義一個類Role(游戲角色)時,代碼如下:

class Role {
    int id; // 角色id
    int blood; // 生命值
    String name; // 角色名稱
}

使用int 類型表示 角色id和生命值,使用String 類型表示姓名。此時, String 本身就是引用類型,由于使用的方式類似常量,所以往往忽略了它是引用類型的存在。如果我們繼續(xù)豐富這個類的定義,給Role 增加武器,穿戴裝備等屬性,我們將如何編寫呢?

武器類

提高進攻能力,定義攻擊武器類,將增加攻擊能力:

class Weapon {
    String name; // 武器名稱
    int hurt; // 傷害值
}

鎧甲類

提高防守能力定義穿戴盔甲類,將增加防御能力,也就是提升生命值:

class Armour {
    String name;// 裝備名稱
    int protect;// 防御值
}

角色增強類

給角色類增加進攻和防守屬性,角色類調(diào)整成如下:

class Role {
    int id;
    int blood;
    String name;
    // 添加武器屬性
    Weapon wp;
    // 添加盔甲屬性
    Armour ar;
    // 提供get/set方法
    public Weapon getWp() {
        return wp;
    }
    public void setWeapon(Weapon wp) {
        this.wp = wp;
    }
    public Armour getArmour() {
        return ar;
    }
    public void setArmour(Armour ar) {
        this.ar = ar;
    }
    // 攻擊方法
    public void attack(){
        System.out.println("使用"+ wp.getName() +", 造成"+wp.getHurt()+"點傷害");
    }
    // 穿戴盔甲
    public void wear(){
        // 增加防御,就是增加blood值
        this.blood += ar.getProtect();
        System.out.println("穿上"+ar.getName()+", 生命值增加"+ar.getProtect());
    }
}

測試類

public class Test {
    public static void main(String[] args) {
        // 創(chuàng)建Weapon 對象
        Weapon wp = new Weapon("倚天劍???" , 999999);
        // 創(chuàng)建Armour 對象
        Armour ar = new Armour("明光鎧甲???",88888);
        // 創(chuàng)建Role 對象
        Role r = new Role();
        // 設(shè)置武器屬性
        r.setWeapon(wp);
        // 設(shè)置盔甲屬性
        r.setArmour(ar);
        // 攻擊
        r.attack();
        // 穿戴盔甲
        r.wear();
    }
}

輸出結(jié)果:

使用倚天劍???,造成999999點傷害 穿上明光鎧甲??? ,生命值增加88888

類作為成員變量時,對它進行賦值的操作,實際上,是賦給它該類的一個對象。

到此這篇關(guān)于Java中引用類型class的用法總結(jié)的文章就介紹到這了,更多相關(guān)Java引用類型class內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java之SpringCloud nocos注冊中心講解

    Java之SpringCloud nocos注冊中心講解

    這篇文章主要介紹了Java之SpringCloud nocos注冊中心講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 新手小白入門必學(xué)JAVA面向?qū)ο笾鄳B(tài)

    新手小白入門必學(xué)JAVA面向?qū)ο笾鄳B(tài)

    說到多態(tài),一定離不開其它兩大特性:封裝和繼承,下面這篇文章主要給大家介紹了關(guān)于新手小白入門必學(xué)JAVA面向?qū)ο笾鄳B(tài)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-02-02
  • 使用自定義注解實現(xiàn)redisson分布式鎖

    使用自定義注解實現(xiàn)redisson分布式鎖

    這篇文章主要介紹了使用自定義注解實現(xiàn)redisson分布式鎖,具有很好的參考價值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Spring?Boot?整合持久層之Spring Data JPA

    Spring?Boot?整合持久層之Spring Data JPA

    在介紹Spring Data JPA的時候,我們首先認識下Hibernate。Hibernate是數(shù)據(jù)訪問解決技術(shù)的絕對霸主,使用O/R映射技術(shù)實現(xiàn)數(shù)據(jù)訪問,O/R映射即將領(lǐng)域模型類和數(shù)據(jù)庫的表進行映射,通過程序操作對象而實現(xiàn)表數(shù)據(jù)操作的能力,讓數(shù)據(jù)訪問操作無須關(guān)注數(shù)據(jù)庫相關(guān)的技術(shù)
    2022-08-08
  • SpringBoot+Docker+IDEA實現(xiàn)一鍵構(gòu)建+推送、運行、同鏡像多容器啟動

    SpringBoot+Docker+IDEA實現(xiàn)一鍵構(gòu)建+推送、運行、同鏡像多容器啟動

    這篇文章主要介紹了SpringBoot+Docker+IDEA實現(xiàn)一鍵構(gòu)建+推送、運行、同鏡像多容器啟動,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 使用springboot整合mybatis-plus實現(xiàn)數(shù)據(jù)庫的增刪查改示例

    使用springboot整合mybatis-plus實現(xiàn)數(shù)據(jù)庫的增刪查改示例

    這篇文章主要介紹了使用springboot整合mybatis-plus實現(xiàn)數(shù)據(jù)庫的增刪查改示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 教你通過B+Tree平衡多叉樹理解InnoDB引擎的聚集和非聚集索引

    教你通過B+Tree平衡多叉樹理解InnoDB引擎的聚集和非聚集索引

    大家都知道B+Tree是從二叉樹演化而來,在這之前我們來先了解二叉樹、平衡二叉樹、平衡多叉樹,這篇文章主要介紹了通過B+Tree平衡多叉樹理解InnoDB引擎的聚集和非聚集索引,需要的朋友可以參考下
    2022-01-01
  • Spring與Dubbo搭建一個簡單的分布式詳情

    Spring與Dubbo搭建一個簡單的分布式詳情

    這篇文章主要介紹了Spring與Dubbo搭建一個簡單的分布式詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • Java序列化和反序列化_動力節(jié)點Java學(xué)院整理

    Java序列化和反序列化_動力節(jié)點Java學(xué)院整理

    把對象轉(zhuǎn)換為字節(jié)序列的過程稱為對象的序列化,把字節(jié)序列恢復(fù)為對象的過程稱為對象的反序列化。接下來通過本文給大家介紹Java序列化和反序列化及主要的兩種用途,感興趣的的友參考下吧
    2017-05-05
  • springboot創(chuàng)建監(jiān)聽和處理事件的操作方法

    springboot創(chuàng)建監(jiān)聽和處理事件的操作方法

    這篇文章主要介紹了springboot創(chuàng)建監(jiān)聽和處理事件的操作方法,使用Spring Boot的事件機制來監(jiān)聽和處理事件有多種優(yōu)勢,本文給大家介紹的非常詳細,需要的朋友參考下吧
    2024-07-07

最新評論