西西纸 2022-06-16 18:40 采纳率: 20%
浏览 36
已结题

java中为什么没有全局变量,详细解释?

一直知道java中没有全局变量是因为两个原因:

1、全局变量破坏了引用的透明性
2、全局变量导致命名空间产生冲突

but,这是什么意思,不是很理解,有没有了解的通俗的帮忙解释哈

  • 写回答

2条回答 默认 最新

  • A Python 萌新花花 2022-06-16 19:33
    关注

    我换个方向给你解释吧:
    其实在java中是没有真正的全局变量的,因为一个java程序其实就是由多个类方法堆积起来的,而每个类、方法中的变量实际上都是属于它自己的“全局变量”,相对于其他类、方法来说这些变量就成了局部变量(因为他们可能不能调用)。
    简单的说就是在针对一个main方法中,所有的类方法都能调用的变量,就是全局变量(即它的作用域是整个程序)。
    总的来说,全局变量,局部变量都只是个相对概念,要靠自己在写程序的过程中去慢慢体会理解。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 吕布辕门 后端领域新星创作者 2022-06-16 19:45
    关注

    如果有全局变量

    1、全局变量破坏了引用的透明性
    如果一个函数只要传递同样的参数值,总是返回同样的结果,那这个函数就是引用透明的。
    2、全局变量导致命名空间产生冲突
    建立多个类,名字相同就不对

    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月21日
  • 已采纳回答 7月13日
  • 创建了问题 6月16日

悬赏问题

  • ¥15 cuda.jit加速报错
  • ¥15 Octave 安装工具箱出错 Only Win32 target is supported!
  • ¥15 docker save的不能在另一台设备运行
  • ¥15 Unity Animation Rigging使用问题
  • ¥15 mbedtls握手返回-7200
  • ¥30 c++ http服务器
  • ¥15 express连接mssql,每条额外附加了语句
  • ¥20 IQOO12如何有效ADB方法
  • ¥15 ios如何获取用户的订阅情况
  • ¥15 复杂表达式求值程序里的函数优先级问题