Java 变量作用域
变量作用域
变量作用域,即变量可被访问的范围
Java中变量分为全局变量
、局部变量
在类的的变量是有作用域这个概念的,Java 中除了属性【类属性】是全局变量,其他变量都是局部变量,即只能在这个方法或代码块中访问
全局变量
全局变量即定义在方法/代码块之外的变量为全局变量,它的作用域是全局作用域,即整个源文件。
全局变量可以添加访问修饰符
!全局变量有默认值!
class ... {
public static void main (String[] args) {
System.out.println(new VarTest().globalVar);
}
}
class VarTest{
// 全局变量可以直接使用
// 因为有默认值
int globalVar;
}
类属性的生命周期
类属性的声明周期从实例化对象开始,直到程序结束或没有任何变量指向这个对象。
局部变量
局部变量即定义在方法体内或代码块内的变量称为局部变量,它的作用域为局部作用域,即:仅在定义这个变量的方法体或代码块内可访问。
局部变量不能添加访问修饰符
在不同的方法变量与变量之间互不影响
!局部变量没有默认值!
class ... {
public static void main (String[] args) {
new VarTest().function();
}
}
class VarTest{
public void function () {
int num;
// 会报错
// 因为局部变量没有默认值
// 需要先赋值后使用
System.out.println(num);
}
}
局部变量可以与全局变量重名
局部变量的生命周期
从调用方法到方法结束,即随着方法的运行而产生,随着方法的结束而销毁。
变量的访问顺序
局部变量可以与全局变量重名,在访问时,按照就近原则访问,即:如果在当前方法/代码块中存在这个变量就访问这个变量,如果当前方法/代码块中不存在该变量,则会去寻找有没有这个名称的全局变量,如果有访问,如果没有报错。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析