class Test {
static int i;
int j;
// start of static block
static {
i = 10;
System.
out.
println("static block called "); }
// end of static block
}
class Main {
public static void main
(String args
[]) {
// Although we don't have an object of Test, static block is
// called because i is being accessed in following statement.
Test t = new Test();
}
}
Y2xhc3MgVGVzdCB7IAogICAgc3RhdGljIGludCBpOyAKICAgIGludCBqOyAKICAgICAgCiAgICAvLyBzdGFydCBvZiBzdGF0aWMgYmxvY2sgIAogICAgc3RhdGljIHsgCiAgICAgICAgaSA9IDEwOyAKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oInN0YXRpYyBibG9jayBjYWxsZWQgIik7IAogICAgfSAKICAgIC8vIGVuZCBvZiBzdGF0aWMgYmxvY2sgIAp9IAogIApjbGFzcyBNYWluIHsgCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmcgYXJnc1tdKSB7IAogIAogICAgICAgIC8vIEFsdGhvdWdoIHdlIGRvbid0IGhhdmUgYW4gb2JqZWN0IG9mIFRlc3QsIHN0YXRpYyBibG9jayBpcyAgCiAgICAgICAgLy8gY2FsbGVkIGJlY2F1c2UgaSBpcyBiZWluZyBhY2Nlc3NlZCBpbiBmb2xsb3dpbmcgc3RhdGVtZW50LiAKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oVGVzdC5pKTsgIAogICAgICAgIFRlc3QgdCA9IG5ldyBUZXN0KCk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKHQuaSk7CiAgICAgICAKICAgIH0gCn0g