37. What does the following output?
1: public class InitOrder {
2:public String first = "instance";
3:public InitOrder() {
4:first = "constructor";
5:}
6:{ first = "block"; }
7:public void print() {
8:System.out.println(first);
9:}
10:public static void main(String... args) {
11:new InitOrder().print();
12:}
13: }
A. block
B. constructor
C. instance
D. The code does not compile.
Çalışma sıraları şöyledir , instance initializer blockları ve instance variable kısmı olan 2.satır constructordan önce çalışır . Öncelikle satır 2 sonra satır 6 sonra satır 4 çalışır ve first instance variable değerimiz constructoru alır ve çıktıyada constructor basar cevap B.