Initialize Block

Hasan Kadir Demircan
1 min readDec 21, 2019

--

Initialize block için şunları bilmemiz gerekiyor;

  • Javada 2 tip initialize block vardır.
  • static initialize block class yüklendiğinde 1 kez çalışır.
  • instance initialize block ilgili obje her oluştuğunda çalışır.

Örnek kod olarak;

  1. Eğer 1 den fazla static initialize block varsa, sırayla çalışacaktır.
  2. Eğer 1 den fazla instance initialize block varsa, sırayla çalışacaktır.
  3. Programı run ettiğimizde, ilk class yükleneceği için sırayla,
  4. static initialize block1
  5. static initialize block2
  6. Çalışacaktır, daha sonra classın ilgili objesi oluşacağı için sırasıyla,
  7. initialize block1
  8. initialize block2
  9. constructor yazacaktır.
  10. Aynı classın tekrar objesini oluşturduğumuzda, static initialize block’lar çalışmayacaktır. O yüzden sırasıyla;
  11. initialize block1
  12. initialize block2
  13. constructor yazacaktır.

Başka bir örnek ;

  1. Bu örnekte unutmamamız gereken şey, extends söz konusu ise ilk SuperClass çalışır.
  2. Programı run ettiğimizde, ilk static initialize block çalışır demiştik ve extends söz konusu olduğu için ilk SuperClass’ın static initialize block’u çalışır.
  3. Animal static initialize block
  4. Dog static initialize block
  5. Yazacaktır. Instance initalize block’lar daha yazmadı, çünkü ilgili objeyi üretmedik.
  6. İlgili objeyi ürettiğimizde ( Dog dog = new Dog(); ),
  7. Animal initialize block
  8. Animal constructor
  9. Dog initialize block
  10. Dog constructor
  11. Daha sonra ikinci objeyi üretiyoruz.
  12. Animal initialize block
  13. Animal constructor
  14. Dog initialize block
  15. Dog constructor

Github : InitializeBlock

--

--

Hasan Kadir Demircan
Hasan Kadir Demircan

No responses yet