【答疑释惑】java中的全局变量

首先,java中是没有全局变量这个概念的,java程序中不能像C++那样在类外定义全局变量,因为JAVA当初出现的初衷就是为了安全性和跨平台性,所以去掉了类似C、C++中的全局变量的概念。

java提供了public static关键字来实现一个类似全局的变量。如果程序只有一个包的话,那么将这个public static(被声明为static的变量不需要实例化对象即可直接使用类名来引用之) 修饰的变量放到程序初始化的地方去实现,就可以在这个程序的各个地方直接调用这个变量了。这虽然不叫全局变量,但实际使用中和全局变量的意思是一样的。

public class Global{ public static int status; }

java全局变量的值可以改变吗??

如果全局变量的类型是“public static final”的,那么变量的值是不会被改变的;

如果全局变量的类型是“public static ”的,那么变量的值是可以被随意改变的; 解释:在java中final变量表示的是最终的,也就是在程序初始化加载到内存中,之后不可以被任何对象修改,如果没被定义为final的话,可以重新赋值的。

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-08-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术专栏

scrapy进阶开发(三):去重策略

461
来自专栏一个会写诗的程序员的博客

回调函数的后面加个bind(this)的作用是什么回调函数的后面加个bind(this)的作用是什么

654
来自专栏流浪猫的golang

go defer 关键字的需要注意的问题

不是说好的defer 关键字 的意思是总会执行的吗?结果是defer 关键字并没有执行。

421
来自专栏阮一峰的网络日志

JavaScript 模块的循环加载

"循环加载"(circular dependency)指的是,a脚本的执行依赖b脚本,而b脚本的执行又依赖a脚本。 // a.js var b = requir...

3075
来自专栏运维技术迷

Python获得13位unix时间戳

Python中的time模块把datetime时间转换为10位的时间戳,之前有记录过转换的方法。而今天调用的API中需要的是13位(一般Java里默认是13位(...

2915
来自专栏自动化测试实战

接口测试框架——第二篇

3488
来自专栏向治洪

React 语法之let和const命令

let命令 基本用法 ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。 { let a = ...

2235
来自专栏阮一峰的网络日志

JavaScript 的 this 原理

1776
来自专栏爱撒谎的男孩

Struts2之类型转换器

3445
来自专栏柠檬先生

jquery mobile 移动web(6)

jquery mobile 针对移动端设备的事件类型。   1.touch 事件。     tap 快速触摸屏幕并且离开,类似一种完整的点击操作。  ...

18310

扫描关注云+社区