के लिए नहीं बुलाया गया है निम्न जावा कोड कक्षा B
के स्थिर प्रारंभकर्ता का आह्वान नहीं करता है। क्यूं कर?स्टेटिक प्रारंभकर्ता को व्युत्पन्न कक्षा
कोड:
class A
{
static
{
System.out.println("A static init");
}
public static void f()
{
System.out.println("f() called");
}
}
class B extends A
{
static
{
System.out.println("B static init");
}
}
public class App
{
public static void main(String[] args)
{
B.f(); //invokestatic #16 // Method com/db/test/B.f:()V
}
}
कार्यक्रम उत्पादन:
A static init
f() called
JDK 1.8.0_25 पर परीक्षण किया गया
संभवतः http://stackoverflow.com/questions/13475172/java-static-initialization-with-inheritance – h7r