Java作用域、訪問修飾符詳解
Java作用域、訪問修飾符詳解
Java中,作用域(Scope)指變量、方法或類的可訪問性和生命周期,即他們在代碼中的可見范圍。作用域由聲明的位置和修飾符共同決定。
一、變量的作用域
變量有以下五種作用域類型
| 作用域類型 | 聲明位置 | 生命周期 | 訪問范圍 |
| 實例變量 | 類內(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)用方式 | 修飾符限制 |
| 實例方法 | 實例變量、靜態(tài)變量、其他實例/靜態(tài)變量 | 對象名.方法名() | 無特殊限制 |
| 靜態(tài)方法 | 靜態(tài)變量、其他靜態(tài)變量 | 類名.方法名() 或 對象名.方法名() | 不能直接訪問實例成員 |
訪問修飾符(Access Modifiers):
用于控制類、變量、方法和構(gòu)造方法的可見性和訪問范圍,是面向?qū)ο缶幊讨?*封裝性(Encapsulation)**的核心機(jī)制。
Java 提供了四種訪問修飾符:
按訪問范圍從寬到窄依次為:public > protected > 默認(rèn)(無修飾符) > private
| 修飾符 | 可見性范圍 | 典型用途 |
| public | 全局可見 | 對外接口、工具類、常量 |
| protected | 同一包、字類 | 允許子類擴(kuò)展的受保護(hù)方法或變量 |
| default | 同一包 | 包內(nèi)共享的實現(xiàn)細(xì)節(jié) |
| private | 僅當(dāng)前類 | 隱藏內(nèi)部狀態(tài),強(qiáng)制通過方法訪問 |
注意事項:
1、子類重寫父類方法時,訪問權(quán)限不能比父類范圍更小
2、構(gòu)造方法使用private修飾時,就是單例模式的要求之一,即不允許外部實例化
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Security OAuth2認(rèn)證授權(quán)示例詳解
這篇文章主要介紹了Spring Security OAuth2認(rèn)證授權(quán)示例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Spring獲取當(dāng)前類在容器中的beanname實現(xiàn)思路
這篇文章主要介紹了Spring獲取當(dāng)前類在容器中的beanname,實現(xiàn)思路只需繼承BeanNameAware接口,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07
簡單實現(xiàn)Java版學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了簡單實現(xiàn)Java版學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-06-06
SpringBoot多數(shù)據(jù)源配置并通過注解實現(xiàn)動態(tài)切換數(shù)據(jù)源
本文主要介紹了SpringBoot多數(shù)據(jù)源配置并通過注解實現(xiàn)動態(tài)切換數(shù)據(jù)源,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
MybatisPlus中QueryWrapper常用方法總結(jié)
MyBatis-Plus是一個Mybatis增強(qiáng)版工具,在MyBatis上擴(kuò)充了其他功能沒有改變其基本功能,為了簡化開發(fā)提交效率而存在,queryWrapper是mybatis plus中實現(xiàn)查詢的對象封裝操作類,本文就給大家總結(jié)了MybatisPlus中QueryWrapper的常用方法,需要的朋友可以參考下2023-07-07

