Java作用域、訪問(wèn)修飾符詳解
Java作用域、訪問(wèn)修飾符詳解
Java中,作用域(Scope)指變量、方法或類(lèi)的可訪問(wèn)性和生命周期,即他們?cè)诖a中的可見(jiàn)范圍。作用域由聲明的位置和修飾符共同決定。
一、變量的作用域
變量有以下五種作用域類(lèi)型
作用域類(lèi)型 | 聲明位置 | 生命周期 | 訪問(wèn)范圍 |
實(shí)例變量 | 類(lèi)內(nèi),方法外 | 對(duì)象創(chuàng)建到銷(xiāo)毀 | 類(lèi)內(nèi)所有非靜態(tài)方法 |
靜態(tài)變量 | 類(lèi)內(nèi),方法外+static | 類(lèi)加載到程序結(jié)束 | 類(lèi)內(nèi)所有方法,其他類(lèi)通過(guò)類(lèi)名 |
局部變量 | 方法/構(gòu)造方法/塊內(nèi) | 方法/塊執(zhí)行期間 | 聲明處到方法/塊結(jié)束 |
塊變量 | 代碼塊內(nèi) | 塊執(zhí)行期間 | 塊內(nèi)部 |
方法參數(shù) | 方法參數(shù)列表 | 方法調(diào)用期間 | 整個(gè)方法體 |
二、方法的作用域
方法類(lèi)型 | 可訪問(wèn)成員 | 調(diào)用方式 | 修飾符限制 |
實(shí)例方法 | 實(shí)例變量、靜態(tài)變量、其他實(shí)例/靜態(tài)變量 | 對(duì)象名.方法名() | 無(wú)特殊限制 |
靜態(tài)方法 | 靜態(tài)變量、其他靜態(tài)變量 | 類(lèi)名.方法名() 或 對(duì)象名.方法名() | 不能直接訪問(wèn)實(shí)例成員 |
訪問(wèn)修飾符(Access Modifiers):
用于控制類(lèi)、變量、方法和構(gòu)造方法的可見(jiàn)性和訪問(wèn)范圍,是面向?qū)ο缶幊讨?*封裝性(Encapsulation)**的核心機(jī)制。
Java 提供了四種訪問(wèn)修飾符:
按訪問(wèn)范圍從寬到窄依次為:public
> protected
> 默認(rèn)(無(wú)修飾符) > private
修飾符 | 可見(jiàn)性范圍 | 典型用途 |
public | 全局可見(jiàn) | 對(duì)外接口、工具類(lèi)、常量 |
protected | 同一包、字類(lèi) | 允許子類(lèi)擴(kuò)展的受保護(hù)方法或變量 |
default | 同一包 | 包內(nèi)共享的實(shí)現(xiàn)細(xì)節(jié) |
private | 僅當(dāng)前類(lèi) | 隱藏內(nèi)部狀態(tài),強(qiáng)制通過(guò)方法訪問(wèn) |
注意事項(xiàng):
1、子類(lèi)重寫(xiě)父類(lèi)方法時(shí),訪問(wèn)權(quán)限不能比父類(lèi)范圍更小
2、構(gòu)造方法使用private修飾時(shí),就是單例模式的要求之一,即不允許外部實(shí)例化
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
struts2 validation.xml 驗(yàn)證規(guī)則代碼解析
這篇文章主要介紹了struts2 validation.xml 驗(yàn)證規(guī)則代碼解析,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01Jpa使用Page和Pageable分頁(yè)遇到的問(wèn)題及解決
這篇文章主要介紹了Jpa使用Page和Pageable分頁(yè)遇到的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07SpringBoot微服務(wù)注冊(cè)分布式Consul的詳細(xì)過(guò)程
這篇文章主要介紹了SpringBoot(微服務(wù))注冊(cè)分布式Consul,Spring Boot應(yīng)用可以通過(guò)向Consul注冊(cè)自身來(lái)實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)和治理,使得其他服務(wù)可以在Consul中發(fā)現(xiàn)并調(diào)用它,需要的朋友可以參考下2023-04-04淺談java 中文件的讀取File、以及相對(duì)路徑的問(wèn)題
今天小編就為大家分享一篇淺談java 中文件的讀取File、以及相對(duì)路徑的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07JVM調(diào)優(yōu)OutOfMemoryError異常分析
這篇文章主要為大家介紹了JVM調(diào)優(yōu)OutOfMemoryError異常分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11springBoot快速訪問(wèn)工程目錄下的靜態(tài)資源
springboot工程,是沒(méi)有webapp文件夾的,靜態(tài)文件放在src/main/resources/static文件夾下即可,模板文件放在src/main/resources/templates下,本文給大家介紹springBoot快速訪問(wèn)工程目錄下的靜態(tài)資源的相關(guān)知識(shí),一起看看吧2021-06-06