簡(jiǎn)單介紹Java?方法的重載、可變參數(shù)、作用域
1. 方法的重載
使用相同的方法名來(lái)定義不同的方法,方法的重載能優(yōu)化代碼,減少冗余度。
在使用方法的重載需要注意的地方有:
- 1. 方法的重載需要方法名相同,并且形參類別、個(gè)數(shù)、順序不同(滿足其中之一)
- 2. 方法的重載與方法的返回類型、形參名沒有關(guān)系
- 3. 在使用方法的傳參的時(shí)候,嚴(yán)格按照重載的方法類型傳值。
2. 可變參數(shù)
當(dāng)使用多個(gè)方法中功能一樣,但形參個(gè)數(shù)不一樣的時(shí)候,可以使用可變參數(shù)。
可變參數(shù)使用細(xì)節(jié):
- 可變參數(shù)可以理解為一個(gè)數(shù)組,具體定義方法: 數(shù)據(jù)類型... 變量名,在定義的時(shí)候要注意把可變參數(shù)作為最后一個(gè)形參即順序?yàn)樽詈?,不能在其他參?shù)的前面。
- 可變參數(shù)只能有一個(gè),一個(gè)方法里不允許有多個(gè)可變參數(shù)
- 可變參數(shù)可以接受0-多個(gè)數(shù)據(jù)類型匹配的參數(shù),可變參數(shù)也可以接受數(shù)組作為參數(shù)可變參數(shù)獲得值的方法與數(shù)組遍歷相同,都可以通過(guò)length來(lái)獲取元素個(gè)數(shù)
3. 作用域
作用域分為全局變量(屬性)和局部變量
- 全局變量:可以理解為類中的屬性,在本類中可以直接使用
- 局部變量:定義在方法或代碼塊里的變量,只能在定義的代碼塊范圍使用
使用細(xì)節(jié):
- 在使用全局變量的時(shí)候可以不用賦值,自動(dòng)會(huì)賦默認(rèn)值
- 在使用局部變量的時(shí)候必須先賦值后使用,不然編譯系統(tǒng)會(huì)報(bào)錯(cuò)
- 全局變量與局部變量可以重名,使用的時(shí)候采取就近原則即選擇作用域更近的那一個(gè)變量
- 局部變量里不能出現(xiàn)相同的變量名
- 全局變量生命周期較長(zhǎng),隨著對(duì)象的創(chuàng)建而創(chuàng)建,對(duì)象的銷毀而銷毀
- 局部變量生命周期較短,隨著代碼塊的執(zhí)行而創(chuàng)建,代碼塊執(zhí)行完畢而銷毀
- 全局變量可以被本類使用或其他類中創(chuàng)建本類對(duì)象調(diào)用
- 局部變量只能在本類中對(duì)應(yīng)的代碼塊使用
- 全局變量可以通過(guò)修飾符修飾,而局部變量不可以
到此這篇關(guān)于簡(jiǎn)單介紹Java 方法的重載、可變參數(shù)、作用域的文章就介紹到這了,更多相關(guān)Java 方法的重載、可變參數(shù)、作用域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一個(gè)注解搞定Spring Security基于Oauth2的SSO單點(diǎn)登錄功能
本文主要介紹 同域 和 跨域 兩種不同場(chǎng)景單點(diǎn)登錄的實(shí)現(xiàn)原理,并使用 Spring Security 來(lái)實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的跨域 SSO客戶端。對(duì)Spring Security基于Oauth2的SSO單點(diǎn)登錄功能感興趣的朋友一起看看吧2021-09-09在Idea2020.1中使用gitee2020.1.0創(chuàng)建第一個(gè)代碼庫(kù)的實(shí)現(xiàn)
這篇文章主要介紹了在Idea2020.1中使用gitee2020.1.0創(chuàng)建第一個(gè)代碼庫(kù)的實(shí)現(xiàn),文中通過(guò)圖文示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07SpringBoot開發(fā)之?dāng)r截器實(shí)例
這篇文章主要介紹了SpringBoot開發(fā)之?dāng)r截器實(shí)例,Spring?Boot簡(jiǎn)介Spring?Boot發(fā)展史SpringBoot的魅力SpringBoot的優(yōu)點(diǎn)總結(jié)Spring?Boot是一個(gè)基于Spring框架的快速開發(fā)腳手架,它簡(jiǎn)化了Spring應(yīng)用的初始化和搭建過(guò)程,需要的朋友可以參考下2023-09-09Java?AQS?原理與?ReentrantLock?實(shí)現(xiàn)方法
AQS 的作用是解決同步器的實(shí)現(xiàn)問(wèn)題,它將復(fù)雜的同步器實(shí)現(xiàn)分解為簡(jiǎn)單的框架方法,開發(fā)者只需要實(shí)現(xiàn)少量特定的方法就能快速構(gòu)建出可靠的同步器,這篇文章主要介紹Java AQS原理與ReentrantLock實(shí)現(xiàn),需要的朋友可以參考下2025-03-03SpringBoot?Test的webEnvironment源碼解讀
這篇文章主要為大家介紹了SpringBoot?Test的webEnvironment源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09微服務(wù)搭建集成Spring Cloud Turbine詳解
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發(fā)便利性巧妙地簡(jiǎn)化了分布式系統(tǒng)基礎(chǔ)設(shè)施的開發(fā),最終給開發(fā)者留出了一套簡(jiǎn)單易懂、易部署和易維護(hù)的分布式系統(tǒng)開發(fā)工具包。下面我們來(lái)詳細(xì)了解一下吧2019-06-06解決springboot 連接 mysql 時(shí)報(bào)錯(cuò) using password: NO的方案
在本篇文章里小編給大家整理了關(guān)于解決springboot 連接 mysql 時(shí)報(bào)錯(cuò) using password: NO的方案,有需要的朋友們可以學(xué)習(xí)下。2020-01-01