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中私有静态变量有什么用? 的相关文章

  • Java中反射是如何实现的?

    Java 7 语言规范很早就指出 本规范没有详细描述反射 我只是想知道 反射在Java中是如何实现的 我不是问它是如何使用的 我知道可能没有我正在寻找的具体答案 但任何信息将不胜感激 我在 Stackoverflow 上发现了这个 关于 C
  • Java EE:如何获取我的应用程序的 URL?

    在 Java EE 中 如何动态检索应用程序的完整 URL 例如 如果 URL 是 localhost 8080 myapplication 我想要一个可以简单地将其作为字符串或其他形式返回给我的方法 我正在运行 GlassFish 作为应
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • 加速代码 - 3D 数组

    我正在尝试提高我编写的一些代码的速度 我想知道从 3d 整数数组访问数据的效率如何 我有一个数组 int cube new int 10 10 10 我用价值观填充其中 然后我访问这些值数千次 我想知道 由于理论上所有 3d 数组都存储在内
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • 列出jshell中所有活动的方法

    是否有任何命令可以打印当前 jshell 会话中所有新创建的方法 类似的东西 list但仅适用于方法 您正在寻找命令 methods all 它会打印所有方法 包括启动 JShell 时添加的方法 以及失败 被覆盖或删除的方法 对于您声明的
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 从 127.0.0.1 到 2130706433,然后再返回

    使用标准 Java 库 从 IPV4 地址的点分字符串表示形式获取的最快方法是什么 127 0 0 1 到等效的整数表示 2130706433 相应地 反转所述操作的最快方法是什么 从整数开始2130706433到字符串表示形式 127 0
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • 在mockito中使用when进行模拟ContextLoader.getCurrentWebApplicationContext()调用。我该怎么做?

    我试图在使用 mockito 时模拟 ContextLoader getCurrentWebApplicationContext 调用 但它无法模拟 here is my source code Mock org springframewo
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • 编译器抱怨“缺少返回语句”,即使不可能达到缺少返回语句的条件

    在下面的方法中 编译器抱怨缺少退货声明即使该方法只有一条路径 并且它包含一个return陈述 抑制错误需要另一个return陈述 public int foo if true return 5 鉴于Java编译器可以识别无限循环 https
  • 在 Maven 依赖项中指定 jar 和 test-jar 类型

    我有一个名为 commons 的项目 其中包含运行时和测试的常见内容 在主项目中 我添加了公共资源的依赖项
  • JGit 检查分支是否已签出

    我正在使用 JGit 开发一个项目 我设法删除了一个分支 但我还想检查该分支是否已签出 我发现了一个变量CheckoutCommand但它是私有的 private boolean isCheckoutIndex return startCo
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • Spring Boot @ConfigurationProperties 不从环境中检索属性

    我正在使用 Spring Boot 1 2 1 并尝试创建一个 ConfigurationProperties带有验证的bean 如下所示 package com sampleapp import java net URL import j
  • 使用 xpath 和 vtd-xml 以字符串形式获取元素的子节点和文本

    这是我的 XML 的一部分

随机推荐

  • 将同步请求包装到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