Pregunta

I want to ask what javap shows besides the public fields and methods of the classes passed to it.

I was reviewing a class file having only a static variable. As expected, javap shows the static variable and class constructor as output but it also shows something like:

static {};

What does this line mean?

¿Fue útil?

Solución

static code block initializes the static variables in the program. it gets executed when the class is initiated, even before constructor call.

Otros consejos

  • This is a static block which is used for initializing values
  • This block gets executed when the class is initialized
  • The static initializer block is executed whenver the class is initialized and the order of execution is according to their appearance in program.

javap -private -verbose class will show you the constant pool and the details of the method bytecode.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top