1~

Minter Coder's Blog

Chapter 2 - Soru 37

2021-03-18

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.