java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java作用域、访问修饰符

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

作者:辉夜姬想环游世界

文章详细解释了Java中的作用域和访问修饰符,包括变量和方法的作用域,以及四种访问修饰符(public、protected、默认、private)的使用规则和可见性范围

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

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

一、变量的作用域

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

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

二、方法的作用域

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

访问修饰符(Access Modifiers):

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

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

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

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

注意事项

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

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

总结

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

您可能感兴趣的文章:
阅读全文