真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java中引用類型的使用方法

一、class作為成員變量

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè)、大化網(wǎng)絡(luò)推廣、微信平臺小程序開發(fā)、大化網(wǎng)絡(luò)營銷、大化企業(yè)策劃、大化品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供大化建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com

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

java中引用類型的使用方法

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

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

java中引用類型的使用方法

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

java中引用類型的使用方法

定義角色類:

java中引用類型的使用方法

測試類:

public class Test {
    public static void main(String[] args) {
        // 創(chuàng)建Weapon 對象
        Weapon wp = new Weapon("屠龍刀", 999999);
        // 創(chuàng)建Armour 對象
        Armour ar = new Armour("麒麟甲", 10000);
        // 創(chuàng)建Role 對象
        Role r = new Role();

        // 設(shè)置武器屬性
        r.setWeapon(wp);

        // 設(shè)置盔甲屬性
        r.setArmour(ar);

        // 攻 擊
        r.attack();
        // 穿戴盔甲
        r.wear();
    }
}
輸出結(jié)果:
使用屠龍刀,造成999999點傷害
穿上麒麟甲 ,生命值增加10000

提示:類作為成員變量時,對它進(jìn)行賦值的操作,實際上,是賦給它該類的一個對象。

二、interface作為成員變量

接口是對方法的封裝,對應(yīng)游戲當(dāng)中,可以看作是擴(kuò)展游戲角色的技能。所以,如果想擴(kuò)展更強(qiáng)大技能,我們在Role中,可以增加接口作為成員變量,來設(shè)置不同的技能。

定義接口:

定義角色類:

定義測試類:

public class Test {
    public static void main(String[] args) {
        // 創(chuàng)建游戲角色
        Role role = new Role();
        // 設(shè)置角色法術(shù)技能
        role.setFaShuSkill(new FaShuSkill() {

            @Override
            public void faShuAttack() { System.out.println("縱橫天下");
            }
        });

        // 發(fā)動法術(shù)攻擊
        role.faShuSkillAttack();

        // 更換技能
        role.setFaShuSkill(new FaShuSkill() {
            @Override
            public void faShuAttack() { System.out.println("逆轉(zhuǎn)乾坤");
        }
        });
        // 發(fā)動法術(shù)攻擊
        role.faShuSkillAttack();
    }
}
輸出結(jié)果:
發(fā)動法術(shù)攻擊:縱橫天下攻擊完畢
發(fā)動法術(shù)攻擊:逆轉(zhuǎn)乾坤攻擊完畢

提示:我們使用一個接口,作為成員變量,以便隨時更換技能,這樣的設(shè)計更為靈活,增強(qiáng)了程序的擴(kuò)展性。 接口作為成員變量時,對它進(jìn)行賦值的操作,實際上,是賦給它該接口的一個子類對象。

三、interface作為方法參數(shù)和返回值類型

當(dāng)接口作為方法的參數(shù)時,需要傳遞什么呢?當(dāng)接口作為方法的返回值類型時,需要返回什么呢?對,其實都是它的子類對象。

ArrayList 類我們并不陌生,查看API我們發(fā)現(xiàn),實際上,它是 java.util.List 接口的實現(xiàn)類。所以,當(dāng)我們看見 List 接口作為參數(shù)或者返回值類型時,當(dāng)然可以將 ArrayList 的對象進(jìn)行傳遞或返回。

請觀察如下方法:獲取某集合中所有的偶數(shù)。

定義方法:

public static List getEvenNum(List list) {
     // 創(chuàng)建保存偶數(shù)的集合
     ArrayList evenList = new ArrayList<>();
     // 遍歷集合list,判斷元素為偶數(shù),就添加到evenList中
     for (int i = 0; i < list.size(); i++) { Integer integer = list.get(i);
         if (integer % 2 == 0) { evenList.add(integer);
         }
     }
     /*
     返回偶數(shù)集合因為getEvenNum方法的返回值類型是List,而ArrayList是List的子類, 所以evenList可以返回
     */
     return evenList;
}

調(diào)用方法:

提示:接口作為參數(shù)時,傳遞它的子類對象。接口作為返回值類型時,返回它的子類對象。

以上就是java中引用類型的用法總結(jié)的詳細(xì)內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!


新聞標(biāo)題:java中引用類型的使用方法
瀏覽路徑:http://weahome.cn/article/ppicph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部