Java中私有静态变量有什么用?

2024-04-09

如果一个变量被声明为public static varName;,然后我可以从任何地方访问它ClassName.varName。我还知道静态成员由类的所有实例共享,并且不会在每个实例中重新分配。

将变量声明为private static varName;与声明变量有什么不同private varName;?

在这两种情况下都无法访问ClassName.varName or as ClassInstance.varName来自任何其他班级。

将变量声明为静态是否会赋予它其他特殊属性?


当然可以通过以下方式访问ClassName.var_name,但只能从定义它的类内部 - 那是因为它被定义为private.

public static or private static变量通常用于常量。例如,许多人不喜欢在代码中“硬编码”常量;他们喜欢做一个public static or private static具有有意义的名称的变量并在代码中使用它,这应该使代码更具可读性。 (你还应该使这样的常量final).

例如:

public class Example {
    private final static String JDBC_URL = "jdbc:mysql://localhost/shopdb";
    private final static String JDBC_USERNAME = "username";
    private final static String JDBC_PASSWORD = "password";

    public static void main(String[] args) {
        Connection conn = DriverManager.getConnection(JDBC_URL,
                                         JDBC_USERNAME, JDBC_PASSWORD);

        // ...
    }
}

无论你是否做到了public or private取决于您是否希望变量在类外部可见。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中私有静态变量有什么用? 的相关文章

随机推荐

  • 将同步请求包装到asyncio(async/await)中?

    我正在用 Python 3 6 编写一个工具 该工具将请求发送到多个 API 具有各种端点 并收集它们的响应以解析并将它们保存在数据库中 我使用的 API 客户端有一个同步请求 URL 的版本 例如他们使用 urllib request R
  • thrift:generate-python 在 SBT 中不生成 Python 文件

    I use sbt 节俭 https github com bigtoast sbt thrift 0 6我在构建定义中有以下内容 thriftPythonEnabled true thriftPythonOutputDir lt lt s
  • 动态对象创建

    我有一个接受字符串对象名称的函数 我需要该函数来创建与字符串值同名的对象的新实例 例如 function Foo function create name return new name create Foo should be equiv
  • 找不到 com.google.firebase:firebase-database:9.2.0

    我试图将新的 firebase 数据库安装到我的应用程序中 但失败并出现下一个错误 错误 找不到 com google firebase firebase database 9 2 0 必需的 经过 应用程序名称 应用程序 未指定 比我克隆
  • 1and1.com 上 SQL Server 连接字符串的正确格式

    除了给 1and1 com 网络托管的支持人员打电话和发送电子邮件之外 我还花了几个小时尝试在网络上搜索此内容 但没有成功 我有 ASP NET 页面 它使用实体框架连接到 MS SQL Server 数据库 在我的本地机器上 一切正常 自
  • Node.JS 的默认文件夹功能

    我想使用node js和socket io向我的网站添加一些实时功能 但不必处理页面请求 响应的麻烦 我能否获得正常的文件夹功能 首先提供index html 然后自动加载任何js css 依赖项 Thanks 您可以使用 Express
  • 如何配置 vim 在编辑 python 文件时不在行首添加注释

    当我在编辑 python 文件时在 Vim 中的空行上以插入模式添加 时 vim 将 移动到行的开头 但我希望将 插入到我输入它的选项卡级别 例如 在 vim 中编写此内容时 for i in range 10 不会停留在我输入的位置 它是
  • 如何在 PHP 中生成密码,就像 Devise Gem 在 Ruby on Rails 中生成的那样

    我正在将网站从 Ruby on Rails 更新为 PHP 我需要生成由 Devise Gem 在 Ruby on Rails 中生成的密码 我必须知道密码的哈希方法是什么 才能使用 PHP 创建相同的方法 但作为初学者 要在 Ruby o
  • BigQuery SQL:对 7 天内出现的具有共享 ID 的行进行分组,并返回最近出现的值

    我有一个带有日期标记的事件表 我需要将其捆绑到 7 天的组中 从每个 event id 最早出现的时间开始 最终输出应返回每个捆绑包的开始日期和结束日期以及每个捆绑包中最新事件的 值 列 没有预定的开始日期 7 天 窗口是任意的 而不是 一
  • Dart - 隔离跨窗口通信

    Dart 隔离是否可以进行跨窗口通信 这是我的场景 用户在浏览器窗口 A 中打开网站 窗口 A 生成一个新的隔离 然后 用户单击一个链接 该链接将创建一个新选项卡并打开浏览器窗口 B 假设该链接位于同一域中 等等 浏览器窗口 B 可以从浏览
  • 带 ILU 预处理器的一般最小残差 (GMRES)

    我正在尝试在我编写的 GMRES 代码中实现 ILU 预处理器 为了求解线性系统 Ax b 我正在尝试使用尺寸为 25x25 的简单三对角 SPD 矩阵 如您所见 我正在计算使用 spilu 方法进行预处理 代码运行没有错误 但解决方案显然
  • 通过“wsl [command]”调用命令与打开 wsl shell 并调用“[command]”有什么区别?

    我在 Windows 10 上通过 WSL 2 0 使用 Ubuntu 并希望从 Windows 命令行运行 Texlive 为此 我将 Texlive 文件夹添加到路径中 etc environment 我还尝试了许多其他位置 例如 HO
  • 无法使用 python3 和 sqlite3 安装 pyspatialite

    我无法安装 pyspatialite 当我尝试时 它给了我这个错误 pip install pyspatialite Downloading unpacking pyspatialite Could not find a version t
  • 如何在Delphi 11.3 CE版本上安装JCL和JVCL

    Jcl 和 JCVL 没有创建库 gt Radstudio Tools jcl 2 8 0 8551 source vcl 该版本的产品不支持命令行编译 所以我必须手动运行它 但是 如何查看运行时包或设计时包 是否有无需 JediInsta
  • PagerAdapter 的 IllegalStateException

    我在此活动中收到 IllegalStateException 但不太确定发生了什么 这是 QuickContactActivity 中的 ViewPagerAdapter 类 private class ViewPagerAdapter e
  • 可以让 CompareValidator 接受带逗号的数字吗?

    我一直在对网页上的输入字段进行 Double 类型检查 但现在我需要允许逗号 这可以使用 CompareValidator 来完成还是我需要使用正则表达式验证器 而不是使用Type Double 尝试使用Type Currency 它应该接
  • 使用 GAS 解压缩 gz 文件会引发错误异常:参数无效

    我正在尝试解压缩作为附件发送到我的电子邮件的 DMARC 报告 它适用于 zip 文件 但不适用于 gz 文件 在我的代码中 我首先按主题获取正确的电子邮件 如果主题正确 则运行此脚本 var attachments message get
  • 量角器拖放:Angular 与 Angular with HTML5

    我在量角器测试中遇到了拖放问题 就像其他人一样 但一般情况下没有 仅在使用 HTML5 的角度应用程序中 为了演示 我使用两个演示拖放功能的网页编写了一个小型量角器测试套件 第一个页面 在第一个测试用例中使用 演示了 AngualarJS
  • 使用 Laravel 5.6 加载用户设置

    我希望能够修改 Laravel 5 6 使用的 Auth gt user 数据 我有一个名为设置的表 其中有一列名为user id其中对应于一个用户id 我尝试修改app User php并添加一个 construct功能 public f
  • Java中私有静态变量有什么用?

    如果一个变量被声明为public static varName 然后我可以从任何地方访问它ClassName varName 我还知道静态成员由类的所有实例共享 并且不会在每个实例中重新分配 将变量声明为private static var