gpt4 book ai didi

java - 任何方法之外的 {} 的用途是什么?

转载 作者:行者123 更新时间:2023-12-02 14:44:31 27 4
gpt4 key购买 nike

我不小心在所有方法之外创建了一对 {} 并且成功了。

public static void main(String[] args) {
System.out.println("ddd");
}

{
System.out.println("ttt");
}

当然,如果您运行此代码,结果是“ddd”,并且仅当我创建它的新实例时它才会写入“ttt”。

如果我成功了static {System.out.println("ttt");}它按照设计工作,结果是“ttt”然后是“ddd”

这有什么实际用途吗?为什么有人会在构造函数或没有书面构造函数的情况下使用它?

我的印象是:它似乎有效,但闻起来像是糟糕和奇怪的做法。我说得对吗?

最佳答案

{} 定义模块或代码块的范围(如方法、静态 block 、类等)

每个模块都应该有一个名称,以便与其他模块区分开来。

在您的情况下,简单地输入 {} 意味着您正在创建一个代码块但没有命名,因此会产生错误。但是将 {} 放入方法中就可以正常工作。

但是当你在它前面放置static关键字时,你就创建了一个在java中具有特殊含义的静态 block 。这意味着当您的类第一次加载时,static block 内的所有内容都将被执行。

See this link for initializer blocks from Java Tutorials website

关于java - 任何方法之外的 {} 的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16211815/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com