为什么最终变量必须在构造函数完成之前初始化?

2024-03-26

为什么最终变量必须在构造函数完成之前初始化?

public class Ex
{
  final int q;
}

当我编译这段代码时,我收到这样的错误

错误:变量 q 可能尚未初始化


The official原因是它是由Java 语言规范 8.3.1.2 http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.3.1.2:

必须在每个构造函数的末尾明确分配一个空白的最终实例变量声明它的类;否则会出现编译时错误。

空白final是一个final变量,其声明缺少初始值设定项(即您所描述的内容)。

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

为什么最终变量必须在构造函数完成之前初始化? 的相关文章

  • 如何自定义BlockingQueue的阻塞行为

    我想创建一个阻塞队列 它根据自定义规则而不是队列中的项目数量来阻止生产者 例如 生产者生成一些文件并放入队列中 消费者经过一番分析后将它们转移到特定位置 对于上述场景 如果队列中的总文件大小达到某个阈值 我希望生产者等待生成新文件 如果总大
  • V8 如何管理它的堆?

    我知道V8的垃圾收集在工作时 会从GC的root开始追踪 这样无法到达的对象就会被标记然后被清除 我的问题是GC是如何遍历那些对象的 必须有一个数据结构来存储所有可达或不可达的对象 位图 链接表 顺便说一句 JVM 也做同样的事情吗 艾伦秀
  • JPanel透明背景和显示元素[重复]

    这个问题在这里已经有答案了 我插入一个背景图e 变成 aJPanel但一些界面元素消失了 以下 Java Swing 元素不会出现 标签标题 标签 usuario 标签 密码 按钮加速器 你能否使图像透明或元素不透明 setOpaque f
  • Java Swing:清除JList而不触发监听器

    我的情况如下 我有一个 JList 只要在列表中进行选择 它就会触发搜索 使用 ListSelectionListener 我正在尝试使用以下命令重置列表上的选择list clearSelection 这样做的问题是使用clearSelec
  • 有效地查找正则表达式的所有重叠匹配项

    这是后续与 java 正则表达式匹配的所有重叠子字符串 https stackoverflow com q 11303309 244526 有没有办法让这段代码更快 public static void allMatches String
  • Maven + Cobertura:无法找到[您的班级]。你指定了源目录吗?

    我有 MyMath 类 有两个简单的方法 multi 和 add 和测试类只会测试多种方法 public class MainTest Test public void testMultiply MyMath tester new MyMa
  • JUnit Eclipse 显示 System.out.print() 的

    我正在使用 JUnit 3 和 Eclipse 3 4 当我运行 JUnit 测试用例时 一切正常并且测试完美完成 唯一的事情是我想查看我正在运行的类的输出 所有类都具有一些输出值的基本 System out print 因此 当我运行测试
  • java“void”和“非void”构造函数

    我用 java 编写了这个简单的类 只是为了测试它的一些功能 public class class1 public static Integer value 0 public class1 da public int da class1 v
  • Maven 多模块项目结构问题

    自从过去几周构建我的 Maven 多模块项目以来 这是我的一次有趣的经历 当我决定使用 Maven 进行构建生命周期管理时 我有几个原因希望选择 Maven A 大多数开发团队都是分开的 这样每个团队都可以在项目中的单独模块上工作 例如团队
  • Vertx HttpClient getNow 不工作

    我的 vertx HttpClient 有问题 下面的代码显示使用 vertx 和纯 java 测试 GET Vertx vertx Vertx vertx HttpClientOptions options new HttpClientO
  • 您能让 Tomcat 6 stdout.log 文件表现得像 log4j DailyRollingFileAppender 吗?

    我们使用的是 Tomcat 6 的 Windows 安装 默认情况下 我们应用程序的 log4j 输出将转到 catalina base logs stdout log 文件 该日志文件仅在我们重新启动 Tomcat 时滚动 并且文件名始终
  • 如何自定义JProgressBar?

    我正在制作一个启动器 我想要一个自定义的进度栏 我已经做了一些研究 并且可以使用 JavaFX 从未用它做过任何事情 并且可以通过替换 UI 来实现 我正在寻找一个具有圆形边缘和圆形填充的酒吧 像这样的事情 package gui impo
  • Java String.format 向整数添加空格

    我有一小段代码 我不明白输出 此输出向我的字符串格式文本添加空格 我做错了什么吗 public class HelloWorld public static void main String args int a1 540 int a2 4
  • 通用 JSF 实体转换器[重复]

    这个问题在这里已经有答案了 我正在编写我的第一个 Java EE 6 Web 应用程序作为学习练习 我没有使用框架 只是使用 JPA 2 0 EJB 3 1 和 JSF 2 0 我有一个自定义转换器 用于将存储在 SelectOne 组件中
  • 哪种 Java DOM 包装器是最好或最受欢迎的? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 存储过程将多个表返回到 spring jdbc 模板

    我正在使用 JdbcTemplate 从 Spring DAO 类调用存储过程 我的问题是 存储过程返回多个表 有没有办法使用 Spring JdbcTemplate 访问多个表 如果我使用jdbcTemplate queryForList
  • java中的比较器链

    正在阅读Oracle 关于接口的 Java 教程 https docs oracle com javase tutorial java IandI createinterface html其中给出了一个例子Card 打牌 我试图理解接口中的
  • 使用 Maven 3 时 Cobertura 代码覆盖率为 0%

    读完这篇文章后 将 Cobertura 与 Maven 3 0 2 一起使用的正确方法是什么 https stackoverflow com questions 6931360 what is the proper way to use c
  • 将字符串中的字符向左移动

    我是 Stack Overflow 的新手 有一道编程课的实验室问题一直困扰着我 该问题要求我们将字符串 s 的元素向左移动 k 次 例如 如果输入是 Hello World 和3 它将输出 lo WorldHel 对于非常大的 k 值 它
  • Java泛型类型

    当我有一个界面时 public interface Foo

随机推荐

  • Facebook 评论镜像不起作用

    我一步一步做了这些 创建一个新的 Facebook 应用程序 应用程序 ID 544557495732050 创建一个新的 Facebook 页面 https www facebook com Pasha Electronic 502844
  • 每秒(或更短时间)检查 url 是否有效的最佳方法是什么,在 C# 窗口窗体应用程序 (.NET) 中使用 Task wait 或 ContinueWith

    我是 C Net 和 Visual Studio 2022 的新手 我想要实现的是每秒运行一个计时器来检查网站 url 是否有效 是否已启动 如果 url 可访问并且当前 WebView2 未显示该网站 那么它应该导航到该网站 如果它已经显
  • TypeScript 泛型:无效、从不或未定义? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 总是想知道这个问题 所以想要得到一个明确的答案并将其固定下来 我想做的是让编译器 语言服务 阅读器知道T应该什么都没有 空的 虚无 我想知道
  • 跨计算机快速同步 git 工作区

    我有一个使用 git 的个人项目 我经常在多台计算机上进行 hack 托管在 Github 上 因为我在家做这件事 所以经常被打扰 我正在发表声明 晚餐已经准备好了 否则我需要换尿布 当我重新开始编码时 我可能会使用另一台计算机 获取最新版
  • 如何在 iPhone 的自定义 UIView 上启用 UIDragInteraction

    我一直在尝试使用 Apple 的新 API 来启用自定义 UIView 上的拖动交互 我在使用 iPad 进行测试时成功地使其工作 但是当我在 iPhone 7 ios 11 beta 3 中运行相同的应用程序时 我无法拖动我的自定义 UI
  • SQL Server:将 bool 转换为整数

    为什么查询 SELECT CAST column LIKE string AS INT 100 return 关键字 AS 附近的语法不正确 因为 bool 不是 T SQL 中的类型 它不存在 布尔表达式不是位类型 他们不have类型 仅
  • 如何在 Polymer 1.0 中过滤铁列表?

    The dom repeat元素提供了一个filter属性 有没有类似的过滤方法iron list 例如 给定一个人员列表 我想过滤出生在特定城市的人 As iron list不幸的是不提供filter属性 没有声明性模式使这成为可能 您可
  • ActiveRecord:如何找到所有孩子都符合条件的父母?

    假设我有一个Parent模型有很多Child 然后Child也属于OtherParent 我怎样才能找到全部Parent其中所有的Child属于任何OtherParent 在纯 SQL 中我可以做 Parent find by sql lt
  • PySpark 可以使用 numpy 数组吗?

    我尝试在 pyspark 会话中执行以下命令 gt gt gt a 1 2 3 4 5 6 7 8 9 10 gt gt gt da sc parallelize a gt gt gt da reduce lambda a b a b 效果
  • 我的 onChange 不适用于反应

    我已经关注了这个文档 https facebook github io react docs forms html why select value并使用 React 创建了一个选择标签 我已经编辑了这个问题 如果我在选择中使用 class
  • 无法更新公司防火墙后面的 conda 软件包。更新了 .condarc 文件,代理设置仍然要求代理用户名和密码

    我位于公司防火墙后面 我正在尝试通过运行以下命令来更新 conda 软件包 conda update all 这是要求我提供代理用户名和密码 https proxy username https proxy username Passwor
  • 公开存储库的子集,同时保留历史记录

    我有一些受版本控制的代码 使用 Mercurial 并且想分享其中的一些代码 同时隐藏我无法发布到公共领域的其他部分 至少在现阶段 理想情况下 我希望保持公共代码的修订历史记录完整 更重要的是 能够在公共存储库和包含公共和私有代码的存储库之
  • 计算列表内列表之间的最小长度

    a 1 0 1 2 1 1 1 3111111 31 1 4 51 1 1 1 1 1 6 7 8 print min a 0 a 1 a 2 以下代码返回 1 0 1 2 1 1 1 3111111 不确定默认键是什么以及根据什么逻辑返回
  • 如何在购物篮中显示正确的税费(结账前)?

    我有一个简单的问题 我为不同国家设置了多种税率 但是 在购物篮页面上 当尚未访问结帐页面时 它会显示来自基准国家 地区的税费 就我而言 我在 AT 有一家商店 我已经为 AT 和 CH 设置了税费 如果用户使用瑞士 IP 进行访问 我会将国
  • 合并多个data.table

    我知道一个人可以合并 加入 两个data table与merge函数或 data table功能 然而 如果我说 10 data table并想要使用do call将它们全部合并在一起 是否有一个函数可以做到这一点 目前我求助于do cal
  • 覆盖 Object.toString 错误

    为什么这会在 Flash Builder 中产生错误 package public class Foo override public function toString String return Foo 制表符补全表明这可用于覆盖 错误
  • Silverlight 4 组合框下拉显示不一致

    我有一个 Silverlight 4 应用程序 在窗体底部附近有一个组合框 下拉列表中可以包含大约 30 到 100 个项目 当我第一次打开 ComboBox 时 没有 SelectedItem Dropdown 向上打开 大约有 23 个
  • GMail 线程、IMAP 和 Ruby

    我正在使用 Ruby IMAP 库来获取 GMail 对话 GMail 线程对话的方式是通过 Message ID 和 In Reply To 消息标头 例如 In Reply To lt email protected cdn cgi l
  • 在网页上包含不引人注目的信息的最佳方式

    所以我写了一些脚本 在我的页面上设置了谷歌地图 这些脚本包含在我的页面 并使用 jQuery 使用从页面上的地址列表生成的标记来构建地图 但是 我有每个地址的一些精确坐标数据 JavaScript 需要这些数据才能正确放置标记 这不是我希望
  • 为什么最终变量必须在构造函数完成之前初始化?

    为什么最终变量必须在构造函数完成之前初始化 public class Ex final int q 当我编译这段代码时 我收到这样的错误 错误 变量 q 可能尚未初始化 The official原因是它是由Java 语言规范 8 3 1 2