system.out.println语句在java中的任何方法之外

我的问题是我们不能在java之外写一个输出声明吗? 如果我将它括在{}括号中,那么我不会得到错误,但如果我直接写它,我会收到错误。 为什么这样?

public class abc { int a=3; int b=0; System.out.println("this statement gives error"); //Error!! {System.out.println("this works fine");} public static void main(String args[]) { System.out.println("main"); abc t=new abc(); } } 

我尝试在main中编写它,它的工作原理。 没有方法,为什么它不起作用?

将它括在大括号中时,将它放在初始化块中,该块在实例化类时运行。 除变量声明/初始化之外的任何语句都不能在Java中的方法或初始化块之外发生。

Class只能有属性或方法。

类是创建单个对象的蓝图。

  int a=3; // attributes int b=0; // attributes System.out.println("this statement gives error"); //Error!! {System.out.println("this works fine");} // init block whenever an object is created. // since it is inside { } 

它被称为实例初始化器 。 每次创建实例对象时,它都会在构造函数之外运行。

还有另一种类型的块称为静态初始化器,它是在{}之前添加静态关键字时。 此静态初始化程序仅在首次加载类时运行。

所以你可以在这两个块和类成员函数中编写代码。

除此之外,剩下的唯一地方是用于类数据成员声明和初始化。