调用没有名称的 Java 方法

2023-12-12

我正在查看下面的代码,发现有些奇怪的东西:

public class Sequence {
    Sequence() {
        System.out.print("c ");
    }

    {
        System.out.print("y ");
    }

    public static void main(String[] args) {
        new Sequence().go();
    }

    void go() {
        System.out.print("g ");
    }

    static {
        System.out.print("x ");
    }
}

我原以为这会给出编译错误System.out与“y”不属于方法声明只是一个{ }。为什么这是有效的?我不知道如何或应该如何调用这段代码。

运行时它会产生x y c g另外,为什么static { }在序列构造函数之前被调用?


This:

static {
    System.out.print("x ");
}   

is a 静态初始化块,并在类加载时调用。你可以在你的班级中拥有任意数量的它们,它们将按照它们出现的顺序(从上到下)执行。

This:

{
   System.out.print("y ");
}

is an 初始化块,并且代码被复制到类的每个构造函数的开头。因此,如果您的类有很多构造函数,并且它们都需要在开始时执行一些常见的操作,则只需编写一次代码并将其放在一个初始化块像这样。

因此,您的输出非常有意义。

As Stanley下面评论了,看Oracle 教程中描述初始化块的部分了解更多信息。

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

调用没有名称的 Java 方法 的相关文章

  • Eclipse 中的 Java 简单电子邮件程序

    我想制作一个简单的程序 您可以从其中发送电子邮件命令行 我找到了这个教程 http www tutorialspoint com java java sending email htm http www tutorialspoint com
  • Java简单加密

    我想加密存储在磁盘上的文本 配置 文件 尝试使用DES http en wikipedia org wiki Data Encryption Standard加密 我在客户端计算机上遇到了致命错误 后来我发现该算法无法处理重音字符 我怀疑这
  • TestNG 启动期间发生内部错误

    我创建了一个 TestNG 类 FirstTest java 当我将测试用例作为 TestNG Test 运行时 出现以下错误 期间发生内部错误 启动 FirstTest java lang NullPointerException Ecl
  • 使用 CXF 通过 HTTP 基本身份验证使用 Web 服务时出现 401 错误

    我正在尝试在 JUnit 测试中使用使用 HTTP 基本身份验证 使用 Apache CXF 的远程 Web 服务 我收到的错误是 javax xml ws WebServiceException Failed to access the
  • Spring MVC 中的 CSRF(跨站请求伪造)保护

    我对春季的 CSRF 跨站请求伪造 保护有点困惑 不 我有我的 jsp 我的控制器和一个 Web 服务 我想要做的是在 Web 服务级别验证令牌 如果令牌匹配 则运行 Web 服务 在我的例子中执行数据库插入 JSP file
  • SimpleDateFormat 无法正确处理 DD

    我正在尝试获得这样的格式 2013 06 15 17 45 我在代码中执行以下操作 Date d new Date SimpleDateFormat ft new SimpleDateFormat YYYY MM DD HH mm Stri
  • ORMLite - join where 子句中的括号

    我想使用连接三个表QueryBuilder join and QueryBuilder joinor但我想在 where 子句中添加括号 如下所示 WHERE first table where AND second table where
  • 带有 @Scheduled Spring 注释的方法的切入点

    我想要一个带有注释的方法的 AspectJ 切入点 Scheduled 尝试了不同的方法但没有任何效果 1 Pointcut execution org springframework scheduling annotation Sched
  • Hibernate、MySQL 视图和 hibernate.hbm2ddl.auto = 验证

    我可以在 Hibernate 中使用 MySQL 视图 将它们视为表 即 该实体与为表创建的实体没有什么不同 但是 当 Hibernate 设置为验证模型时 我的应用程序将不会部署 因为它找不到视图 因为它假设它是一个表 是否可以在启用部署
  • 读取 Nashorn JO4 和 NativeArray

    Java调用代码 import jdk nashorn api scripting myCustomHashMap dataStore new myCustomHashMap ScriptEngineManager sem new Scri
  • IntelliJ 建议错误的 @NotNull 注释

    IntelliJ 建议导入com sun istack internal NotNull以下程序中的 NotNull 注释 这是错误的 public class Test implements Comparable
  • Android 防火墙与 VpnService

    我正在尝试使用 BS 项目的 VpnService 为 Android 实现一个简单的防火墙 我选择 VpnService 因为它将在非 root 设备上运行 它将记录连接并让您过滤连接 基于IP 有一个应用程序可以做到这一点 因此这是可能
  • Knuth-Morris-Pratt 算法

    解决方案是Knuth Morris Pratt 算法 https en wikipedia org wiki Knuth E2 80 93Morris E2 80 93Pratt algorithm 干草堆 AAAAAAAAA 针 AAA
  • 更改 Spring Web 应用程序的默认会话超时

    我必须测试一个由 spring 和 jsp 编写的 Web 应用程序 应用程序的默认会话超时为 30 分钟 我想减少会话超时 为此 我改变了web xml文件输入tomcatInstallationLocation conf 但这不起作用
  • 不想保留一对一的实体

    假设我有两节课Employee and Department In Employee我已经写了 OneToOne fetch FetchType EAGER cascade CascadeType ALL JoinColumn name d
  • Android 以编程方式停止 toast 通知?

    有没有办法以编程方式停止 Toast 消息 假设我有一个按钮 单击它可以滚动 toast 消息 并且在 onclick 事件中我想停止队列中的所有消息并只显示新消息 我该怎么做 我的代码的简化版本如下 代码 public class Hel
  • org.apache.catalina.core.JreMemoryLeakPreventionListener 中急切调用 URLConnection 的 setDefaultUseCaches(false) 是什么原因

    这个问题可能有点难以找到答案 这是一个系列中的问题考虑使用 Policy getPolicy 的原因是什么 因为它将保留对上下文的静态引用并可能导致内存泄漏 https stackoverflow com questions 7057421
  • System.out.println("嗨"+6+10);打印Hi610?

    为什么要这样做 太令人困惑了 运算符优先级和结合性 两点 操作员 如果一个或两个参数都是字符串 则进行字符串连接 操作员 从左到右工作 所以在你的例子中 Hi 6 is Hi6 and Hi6 10 is Hi610 编辑 正如您在对另一个
  • JavaFX 中的 MVC 模式与场景生成器

    我是 JavaFX 新手 根据我当前的设置 正在努力创建合适的 MVC 架构 我使用 Scene Builder 单击了一个 UI 并指定了一个 Controller 类 Startup public class Portal extend
  • 是什么让热部署成为“难题”?

    在工作中 我们经常遇到这样的问题 永久代内存不足 http www jroller com agileanswers entry preventing java s java lang例外 团队负责人认为这是 JVM 中的一个错误 与代码的

随机推荐

  • dplyr - 根据每组的两个标准排列 ()

    在采样活动之前的五周内 我收集了数百个农场的每小时天气情况 我想确定采样事件前三周的平均 Air Temp 目前 我的数据已失效 我想按每个农场 在文件中表示 进行分组 然后按日期和时间按升序排列所有数据 换句话说 我希望每个文件都按顺序排
  • 将 dataLabel 添加到 Highcharts.js 中的面积图

    I want to add a data label to specific point in the Area chart I m using Highchart for making graph I want a data label
  • JavaFX - 尝试使用 BufferedReader 时冻结 - 未关闭?

    我花了好几个小时试图解决这个问题 但它开始让我烦恼 我有一个简单的 JavaFX 应用程序 然后单击按钮时 它 执行Process p pb start 该命令运行 并且可以在终端窗口中看到 但 GUI 完全冻结 A lot of unus
  • 如何在Smarty中关闭html转义

    我在用html checkboxes用于生成选择菜单 问题是在复选框名称中我有一些 html 代码 而 Smarty 转义了它 I have html checkboxes name select menu values user data
  • 我的按钮在 iPhone 6 和 6 plus 上居中,但在 iPhone 5 上则不然

    我确实打开了自动布局 但由于某种原因 我的中心按钮没有针对其他手机尺寸居中 我设置了约束 就像我提到的自动布局一样 所以我有点困惑 所有其他项目 按钮 其他标签等 都位于其应在的位置 除了 iPhone 6 之外的所有型号 顶部的一个特定标
  • 单元格值更改事件,c#

    我有一个 DataGridView 其中有 3 列 数量 费率和金额 DataGridView 是可编辑的 当我在 费率 列中输入一个值时 应立即更改 金额 中的值 Amount Qty rate 它正在发生 但是当我单击任何其他单元格时
  • C# 中如何在不同线程上运行新表单?

    我只是尝试在每次单击按钮时运行一个新线程 这应该创建一个新表单 我在 MainForm 的按钮单击事件中尝试了此操作 private void button1 Click object sender EventArgs e worker1
  • 为什么 IOS7 中 NSAttributedString 的字距调整失败

    我的应用程序有一个格式化为 NSAttributedString 的 UILabel 属性 NSKernAttributeName 1 9 当下面的代码在运行 IOS6 的 iPad 上编译时 kern 按预期工作 在运行 IOS7 的 i
  • 如何找到整数数组中的最大不重复数?

    假设我有一个未排序的整数数组 3 1 4 5 3 2 5 我想找到最大的非重复数 在本例中为 4 5 是无效的 因为它是重复的 我怎样才能实现这个目标 使用无序映射来计算每个元素的频率 作为一种优化 跟踪遇到的最大元素并跳过低于该元素的元素
  • Struts2:如何存储从操作到操作的安全用户名和密码

    在我的登录页面中 我通过用户名和密码 从 jsp 页面获取 登录 然后检查 LDAP 如果凭据正确 则继续浏览其他页面 我想在某个地方存储用户名和密码 因为在接下来的一些页面中 我可能需要它们来制作其他东西 我想将它们存储在会话中 但我担心
  • 在 TextInput 中写入一个字符后键盘隐藏问题(Flatlist 标题内的文本输入)

    我花了两天时间解决这个问题 问题是 当我将 TextInput 放入 Flatlist 中时 TextInput 的行为已更改 键盘在写入每个字符后失去焦点 版本 反应本机 0 63 2 反应 16 13 1 反应 dom 16 13 1
  • 为什么我不能向下转换指向模板参数中成员的指针?

    如果我创建一个指向基成员的指针 通常可以将其转换为指向派生成员的指针 但在像下面的 Buzz 这样的模板中使用时则不行 其中第一个模板参数影响第二个模板参数 我是否正在与编译器错误作斗争 或者标准是否真的强制要求这不起作用 struct F
  • Java Date 对象显示未来的时间

    我正在当前时间之前的某个时间创建一个新的日期对象 如果我在今天前 1 天展示它 效果很好 但如果我想显示 30 天前 它会转到未来 Date date new Date long sometime 24 60 60 1000 a day S
  • Python-将部分子列表的元素转换为int

    假设您有一个类似的列表 a 1 2 3 b 4 5 6 c 7 8 9 我想将每个子列表的索引 1 到 2 的元素转换为整数 因为您可以看到它们本身就是字符串 是否可以 如果是 那么最短的方法是什么 到目前为止我所做的是 lists a 1
  • 当我在模拟器中启动应用程序时,Xcode 被阻止在“附加到(应用程序名称)”

    我知道有很多帖子都有同样的问题 我花了至少 2 个小时阅读它们 并尝试了我在回复中看到的所有内容 但仍然不起作用 我不知道该怎么办了 有人能帮我吗 我使用 Xcode 4 2 1 这个问题对我来说经常发生 解决方案总是杀死名为的进程Simu
  • 如何从一组输入的数字中获取最大值和最小值?

    以下是我到目前为止所拥有的 我不知道如何排除 0 作为最小数字 分配要求 0 作为退出编号 因此我需要在最小字符串中出现除 0 之外的最小数字 有任何想法吗 int min max Scanner s new Scanner System
  • 如何在 iPhone 应用程序中实现 activesync 协议?

    如何在 iPhone 应用程序中实现 activesync 协议 任何建议 任何文档和教程都很好 我已阅读Exchange ActiveSync 和 iOS 4 设备来自苹果 有这方面的真正文档吗 尽管在评论中提出了问题 但您可能正在寻找E
  • android asynctask 与线程

    我创建了一个 asynctask 并在其 doInBackground 方法中启动了一个如下线程 private class myAsyntask extends Asynctask doInBackground Thread t new
  • 在 SQL Server 中实施审计跟踪的最佳方法?

    我不知道这些要求是否标准 但我想知道是否有一个解决方案可以执行以下操作 对于指定的一组表 在相关表的审核版本中更改记录之前保留记录的副本 我宁愿不必为每个表都编写此代码 我想知道是否有一个可以在 SQL Server 上安装的解决方案来为您
  • 调用没有名称的 Java 方法

    我正在查看下面的代码 发现有些奇怪的东西 public class Sequence Sequence System out print c System out print y public static void main String