Java作用域、访问修饰符详解
Java作用域、访问修饰符详解
Java中,作用域(Scope)指变量、方法或类的可访问性和生命周期,即他们在代码中的可见范围。作用域由声明的位置和修饰符共同决定。
一、变量的作用域
变量有以下五种作用域类型
| 作用域类型 | 声明位置 | 生命周期 | 访问范围 |
| 实例变量 | 类内,方法外 | 对象创建到销毁 | 类内所有非静态方法 |
| 静态变量 | 类内,方法外+static | 类加载到程序结束 | 类内所有方法,其他类通过类名 |
| 局部变量 | 方法/构造方法/块内 | 方法/块执行期间 | 声明处到方法/块结束 |
| 块变量 | 代码块内 | 块执行期间 | 块内部 |
| 方法参数 | 方法参数列表 | 方法调用期间 | 整个方法体 |
二、方法的作用域
| 方法类型 | 可访问成员 | 调用方式 | 修饰符限制 |
| 实例方法 | 实例变量、静态变量、其他实例/静态变量 | 对象名.方法名() | 无特殊限制 |
| 静态方法 | 静态变量、其他静态变量 | 类名.方法名() 或 对象名.方法名() | 不能直接访问实例成员 |
访问修饰符(Access Modifiers):
用于控制类、变量、方法和构造方法的可见性和访问范围,是面向对象编程中**封装性(Encapsulation)**的核心机制。
Java 提供了四种访问修饰符:
按访问范围从宽到窄依次为:public > protected > 默认(无修饰符) > private
| 修饰符 | 可见性范围 | 典型用途 |
| public | 全局可见 | 对外接口、工具类、常量 |
| protected | 同一包、字类 | 允许子类扩展的受保护方法或变量 |
| default | 同一包 | 包内共享的实现细节 |
| private | 仅当前类 | 隐藏内部状态,强制通过方法访问 |
注意事项:
1、子类重写父类方法时,访问权限不能比父类范围更小
2、构造方法使用private修饰时,就是单例模式的要求之一,即不允许外部实例化
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring Security OAuth2认证授权示例详解
这篇文章主要介绍了Spring Security OAuth2认证授权示例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-09-09
SpringBoot多数据源配置并通过注解实现动态切换数据源
本文主要介绍了SpringBoot多数据源配置并通过注解实现动态切换数据源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-08-08
MybatisPlus中QueryWrapper常用方法总结
MyBatis-Plus是一个Mybatis增强版工具,在MyBatis上扩充了其他功能没有改变其基本功能,为了简化开发提交效率而存在,queryWrapper是mybatis plus中实现查询的对象封装操作类,本文就给大家总结了MybatisPlus中QueryWrapper的常用方法,需要的朋友可以参考下2023-07-07


最新评论