Java Constructors
Special methods that breathe life into objects
What is a Constructor?
Same Name as Class
Constructor must match class name exactly
No Return Type
Not even void—completely unique
Auto-Called
Executes automatically with new keyword
Initializes Objects
Assigns starting values to data members
Constructor in Action
The Code Creating the Object
class ConstructorExample { ConstructorExample obj =
int number; new ConstructorExample(10);
ConstructorExample(int num) { [Link]();
number = num;
} Output
void display() {
Number: 10
[Link](
"Number: " + number);
Constructor runs automatically when object is created
}
}
Constructor Rules
1 Name Matches Class
Constructor name must be identical to class name
2 Cannot Use Modifiers
No abstract, static, final, or synchronized allowed
3 Access Control Available
Can use public, private, protected
4 No Return Types
Constructors never specify return types
Three Types of
Constructors
Default
No parameters needed
Parameterized
Accepts specific values
Copy
Duplicates existing object
Default Constructor
Automatic Initialization
class DefaultConstructor {
• Compiler provides if none defined int number;
• No parameters required String text;
• Sets default values automatically
DefaultConstructor() {
Default Values number = 10;
text = "Hello";
int → 0 }
float → 0.0 }
boolean → false
Output
String → null
Number: 10
Text: Hello
Parameterized Constructor
Maximum Flexibility
Initialize objects with custom values at creation time
Multiple Parameters
Accept one or more arguments for precise control
class ParameterizedConstructor {
int number;
String text;
ParameterizedConstructor(int num, String str) {
number = num;
text = str;
}
}
// Usage
ParameterizedConstructor obj =
new ParameterizedConstructor(100, "Java");
Copy Constructor
Creating Duplicates
class CopyConstructor {
Takes another object as parameter to clone values int number;
String text;
// Copy Constructor
CopyConstructor(
CopyConstructor obj) {
number = [Link];
text = [Link];
}
}
// Usage
CopyConstructor obj1 =
new CopyConstructor(50, "Hello");
CopyConstructor obj2 =
new CopyConstructor(obj1);
Constructor Comparison
Constructor Type Description Use Case
Default No arguments required Standard initialization
Parameterized Accepts parameters Custom initial values
Copy Takes object as parameter Clone existing object
Key Takeaways
Automatic Magic Three Flavors
Constructors run Choose default,
automatically when parameterized, or copy
objects are created based on your needs
Essential Tool
Master constructors to create robust, flexible Java programs