Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么这个Java程序没有显示错误?_Java - Fatal编程技术网

为什么这个Java程序没有显示错误?

为什么这个Java程序没有显示错误?,java,Java,考虑下面的代码 我忘了定义方法名,只定义块中的代码 public class Demo { { Apple ap; // Display price of Winesap. System.out.println("Winesap costs " + Apple.Winesap.getPrice() + " cents.\n"); // Display all apples and prices. System.out.pr

考虑下面的代码

我忘了定义方法名,只定义块中的代码

public class Demo {

    {
    Apple ap;
    // Display price of Winesap.
    System.out.println("Winesap costs " + Apple.Winesap.getPrice()
            + " cents.\n");
    // Display all apples and prices.
    System.out.println("All apple prices:");
    for (Apple a : Apple.values())
        System.out.println(a + " costs " + a.getPrice() + " cents.");
    }

}
是因为java中的块{}定义了一个作用域吗

块{}定义了Java中的作用域。每次启动新块时,都在创建新块 范围作用域确定哪些对象对程序的其他部分可见。它也 确定这些对象的生存期。许多其他计算机语言定义了2个一般类别 作用域的类型:全局和局部


这里有一个实例初始值设定项,如所述


创建实例时,它会在任何构造函数的主体之前执行,就像字段初始值设定项一样。

这里有一个实例初始值设定项,如所述


创建实例时,它会在任何构造函数的主体之前执行,就像字段初始值设定项一样。

您刚才问了一个问题:您刚刚发布了一个答案,我们应该发布这个问题。它是一个@sᴜʀᴇsʜᴀᴛᴛᴀ 哈哈哈,你完全正确。这有多奇怪PEven Java实际上定义了3类块。静态块、实例级块和方法本地块。您刚才问了一个问题:您刚刚发布了一个答案,我们应该发布这个问题。这是一个问题。@sᴜʀᴇsʜᴀᴛᴛᴀ 哈哈哈,你完全正确。这有多奇怪PEven Java实际上定义了3类块。静态块、实例级块和方法本地块。