initialize block : در کلاس میتوانیم چندین بلاک باز و بسته تعریف کنیم این بلاک ها به ترتیب اجرا میشوند و اگر داخلش یکسری کد بگذاریم که بسته به تصمیم ما قابل استفاده است مثلا میتوانید یکسری فیلد را مقدار دهی کند
این بلاک فقط توسط جاوا اجرا میشود و هر بار که Object جدید از کلاس ساخته میشود یا کلاس دارای initialize block ارث برده شود این بلاک اجرا میشود
static block : در کلاس میتوانیم یک بلاک static داشته باشیم این هر باری که کلاس در حافظه مقیم شود یکبار اجرا میشود و زود تر از initialize block اجرا میشود