国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 Java Java基礎(chǔ) java中引用類型的用法總結(jié)

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

Nov 30, 2019 pm 03:31 PM
java 引用類型 用法

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

一、class作為成員變數(shù)

#在定義一個類別Role(遊戲角色)時,程式碼如下:

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

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

免費影片教學(xué)推薦:java免費影片教學(xué)

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

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

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

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

定義角色類:

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

測試類別:

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

提示:類別作為成員變數(shù)時,對它進行賦值的操作,實際上,是賦給它該類別的一個物件。

二、interface作為成員變數(shù)

#介面是方法的封裝,對應(yīng)遊戲當中,可以看成是擴充遊戲角色的技能。所以,如果想擴展更強大技能,我們在Role中,可以增加介面作為成員變量,來設(shè)定不同的技能。

定義介面:

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

# 定義角色類別:

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

定義測試類別:

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è)計更為靈活,增強了程式的擴展性。介面作為成員變數(shù)時,對它進行賦值的操作,實際上,是賦給它該介面的子類別物件。

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

#當介面作為方法的參數(shù)時,需要傳遞什麼呢?當介面作為方法的回傳值類型時,需要回傳什麼呢?對,其實都是它的子類別物件。

?ArrayList 類別我們並不陌生,查看API我們發(fā)現(xiàn),實際上,它是 java.util.List 介面的實作類別。所以,當我們看見 List 介面作為參數(shù)或傳回值類型時,當然可以將 ArrayList 的物件傳遞或傳回。

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

定義方法:

public static List<Integer> getEvenNum(List<Integer> list) {
     // 創(chuàng)建保存偶數(shù)的集合
     ArrayList<Integer> 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;
}

呼叫方法:

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

#提示:介面作為參數(shù)時,傳遞它的子類別物件。介面作為傳回值類型時,傳回它的子類別物件。

java相關(guān)文章教學(xué)推薦:java入門教學(xué)

以上是java中引用類型的用法總結(jié)的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1601
29
PHP教程
1502
276
如何使用JDBC處理Java的交易? 如何使用JDBC處理Java的交易? Aug 02, 2025 pm 12:29 PM

要正確處理JDBC事務(wù),必須先關(guān)閉自動提交模式,再執(zhí)行多個操作,最後根據(jù)結(jié)果提交或回滾;1.調(diào)用conn.setAutoCommit(false)以開始事務(wù);2.執(zhí)行多個SQL操作,如INSERT和UPDATE;3.若所有操作成功則調(diào)用conn.commit(),若發(fā)生異常則調(diào)用conn.rollback()確保數(shù)據(jù)一致性;同時應(yīng)使用try-with-resources管理資源,妥善處理異常並關(guān)閉連接,避免連接洩漏;此外建議使用連接池、設(shè)置保存點實現(xiàn)部分回滾,並保持事務(wù)盡可能短以提升性能。

如何使用Java的日曆? 如何使用Java的日曆? Aug 02, 2025 am 02:38 AM

使用java.time包中的類替代舊的Date和Calendar類;2.通過LocalDate、LocalDateTime和LocalTime獲取當前日期時間;3.使用of()方法創(chuàng)建特定日期時間;4.利用plus/minus方法不可變地增減時間;5.使用ZonedDateTime和ZoneId處理時區(qū);6.通過DateTimeFormatter格式化和解析日期字符串;7.必要時通過Instant與舊日期類型兼容;現(xiàn)代Java中日期處理應(yīng)優(yōu)先使用java.timeAPI,它提供了清晰、不可變且線

比較Java框架:Spring Boot vs Quarkus vs Micronaut 比較Java框架:Spring Boot vs Quarkus vs Micronaut Aug 04, 2025 pm 12:48 PM

前形式攝取,quarkusandmicronautleaddueTocile timeProcessingandGraalvSupport,withquarkusoftenpernperforminglightbetterine nosserless notelless centarios.2。

了解網(wǎng)絡(luò)端口和防火牆 了解網(wǎng)絡(luò)端口和防火牆 Aug 01, 2025 am 06:40 AM

NetworkPortSandFireWallsworkTogetHertoEnableCommunication whereSeringSecurity.1.NetWorkPortSareVirtualendPointSnumbered0-655 35,with-Well-with-Newonportslike80(HTTP),443(https),22(SSH)和25(smtp)sindiessingspefificservices.2.portsoperateervertcp(可靠,c

垃圾收集如何在Java工作? 垃圾收集如何在Java工作? Aug 02, 2025 pm 01:55 PM

Java的垃圾回收(GC)是自動管理內(nèi)存的機制,通過回收不可達對象釋放堆內(nèi)存,減少內(nèi)存洩漏風(fēng)險。 1.GC從根對象(如棧變量、活動線程、靜態(tài)字段等)出發(fā)判斷對象可達性,無法到達的對像被標記為垃圾。 2.基於標記-清除算法,標記所有可達對象,清除未標記對象。 3.採用分代收集策略:新生代(Eden、S0、S1)頻繁執(zhí)行MinorGC;老年代執(zhí)行較少但耗時較長的MajorGC;Metaspace存儲類元數(shù)據(jù)。 4.JVM提供多種GC器:SerialGC適用於小型應(yīng)用;ParallelGC提升吞吐量;CMS降

使用HTML'輸入類型”作為用戶數(shù)據(jù) 使用HTML'輸入類型”作為用戶數(shù)據(jù) Aug 03, 2025 am 11:07 AM

選擇合適的HTMLinput類型能提升數(shù)據(jù)準確性、增強用戶體驗並提高可用性。 1.根據(jù)數(shù)據(jù)類型選用對應(yīng)input類型,如text、email、tel、number和date,可實現(xiàn)自動校驗和適配鍵盤;2.利用HTML5新增類型如url、color、range和search,可提供更直觀的交互方式;3.配合使用placeholder和required屬性,可提升表單填寫效率和正確率,但需注意placeholder不能替代label。

比較Java構(gòu)建工具:Maven vs. Gradle 比較Java構(gòu)建工具:Maven vs. Gradle Aug 03, 2025 pm 01:36 PM

Gradleisthebetterchoiceformostnewprojectsduetoitssuperiorflexibility,performance,andmoderntoolingsupport.1.Gradle’sGroovy/KotlinDSLismoreconciseandexpressivethanMaven’sverboseXML.2.GradleoutperformsMaveninbuildspeedwithincrementalcompilation,buildcac

以身作則,解釋說明 以身作則,解釋說明 Aug 02, 2025 am 06:26 AM

defer用於在函數(shù)返回前執(zhí)行指定操作,如清理資源;參數(shù)在defer時立即求值,函數(shù)按後進先出(LIFO)順序執(zhí)行;1.多個defer按聲明逆序執(zhí)行;2.常用於文件關(guān)閉等安全清理;3.可修改命名返回值;4.即使發(fā)生panic也會執(zhí)行,適合用於recover;5.避免在循環(huán)中濫用defer,防止資源洩漏;正確使用可提升代碼安全性和可讀性。

See all articles