همه برنامه نویسان با مفهوم Constructor یا سازنده آشنا هستند. Constructor ها متدهایی بدون خروجی و هم نام با کلاس هستند که زمان ساخت شی ی از کلاس invoke می شوند:

public class Person {
String name;
int age;

public Person() {
...
}
public Person(String name, int age) {
...
}
}

اگر برنامه نویس Constructor ی برای کلاس ننویسد کامپایلر جاوا (javac) یک Constructor پیش فرض برای آن ها تولید می کند. 

برای یک کلاس همانطور که در بالا دیده می شود می توان چندین Constructor نوشت. به این عمل Constructor overloading گفته می شود. که مشابه همان مفهوم Overloading در جاواست.

نکته1: در یک کلاس می توان چندین متد همنام داشت که پارامتر های ورودی آنها متفاوت است به این عمل Overloading گفته می شود.

نکته2: به constructor بدون ورودی اصطلاحا default constructor گفته می شود.