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