Java作用域、访问修饰符详解

 更新时间:2025年02月22日 15:09:20   作者:辉夜姬想环游世界  
文章详细解释了Java中的作用域和访问修饰符,包括变量和方法的作用域,以及四种访问修饰符(public、protected、默认、private)的使用规则和可见性范围

Java作用域、访问修饰符详解

Java中,作用域(Scope)指变量、方法或类的可访问性和生命周期,即他们在代码中的可见范围。作用域由声明的位置修饰符共同决定

一、变量的作用域

变量有以下五种作用域类型

作用域类型声明位置生命周期访问范围
实例变量类内,方法外对象创建到销毁类内所有非静态方法
静态变量类内,方法外+static类加载到程序结束类内所有方法,其他类通过类名
局部变量方法/构造方法/块内方法/块执行期间声明处到方法/块结束
块变量代码块内块执行期间块内部
方法参数方法参数列表方法调用期间整个方法体

二、方法的作用域

方法类型可访问成员调用方式修饰符限制
实例方法实例变量、静态变量、其他实例/静态变量对象名.方法名()无特殊限制
静态方法静态变量、其他静态变量类名.方法名() 或 对象名.方法名()不能直接访问实例成员

访问修饰符(Access Modifiers):

用于控制类、变量、方法和构造方法的可见性和访问范围,是面向对象编程中**封装性(Encapsulation)**的核心机制。

Java 提供了四种访问修饰符:

按访问范围从宽到窄依次为:public > protected > 默认(无修饰符) > private

修饰符可见性范围典型用途
public全局可见对外接口、工具类、常量
protected同一包、字类允许子类扩展的受保护方法或变量
default同一包包内共享的实现细节
private仅当前类隐藏内部状态,强制通过方法访问

注意事项

1、子类重写父类方法时,访问权限不能比父类范围更小

2、构造方法使用private修饰时,就是单例模式的要求之一,即不允许外部实例化

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java编程中的检查型异常与非检查型异常分析

    Java编程中的检查型异常与非检查型异常分析

    这篇文章主要介绍了Java编程中的未检查型异常与非检查型异常,以及异常的处理方式,需要的朋友可以参考下
    2017-09-09
  • Spring创建Bean的生命周期详析

    Spring创建Bean的生命周期详析

    这篇文章主要介绍了Spring创建Bean的生命周期详析,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • 一文搞懂Java并发AQS的共享锁模式

    一文搞懂Java并发AQS的共享锁模式

    这篇文章主要为大家阐述AQS另外一个重要模式,共享锁模式。共享锁可以由多个线程同时获取, 比较典型的就是读锁,感兴趣的小伙伴可以了解一下
    2022-10-10
  • Spring整合Weblogic jms实例详解

    Spring整合Weblogic jms实例详解

    这篇文章主要介绍了Spring整合Weblogic jms实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • Spring Security OAuth2认证授权示例详解

    Spring Security OAuth2认证授权示例详解

    这篇文章主要介绍了Spring Security OAuth2认证授权示例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Spring获取当前类在容器中的beanname实现思路

    Spring获取当前类在容器中的beanname实现思路

    这篇文章主要介绍了Spring获取当前类在容器中的beanname,实现思路只需继承BeanNameAware接口,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • 简单实现Java版学生管理系统

    简单实现Java版学生管理系统

    这篇文章主要为大家详细介绍了简单实现Java版学生管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • SpringBoot多数据源配置并通过注解实现动态切换数据源

    SpringBoot多数据源配置并通过注解实现动态切换数据源

    本文主要介绍了SpringBoot多数据源配置并通过注解实现动态切换数据源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Spring BeanDefinition使用介绍

    Spring BeanDefinition使用介绍

    BeanDefinition是Spring框架中非常核心的概念,BeanDefinition是定义Bean的配置元信息接口,Spring根据BeanDefinition来定义Bean对象,简单说就是对Bean信息的定义
    2023-01-01
  • MybatisPlus中QueryWrapper常用方法总结

    MybatisPlus中QueryWrapper常用方法总结

    MyBatis-Plus是一个Mybatis增强版工具,在MyBatis上扩充了其他功能没有改变其基本功能,为了简化开发提交效率而存在,queryWrapper是mybatis plus中实现查询的对象封装操作类,本文就给大家总结了MybatisPlus中QueryWrapper的常用方法,需要的朋友可以参考下
    2023-07-07

最新评论