سؤال

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?

هل كانت مفيدة؟

المحلول

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

نصائح أخرى

  • 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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top