Constructor Access Specifiers in
Java
Public | Private | Protected | Default
Public Constructor
• ✔ Can be accessed from anywhere.
• ✔ Most common constructor type.
• Example:
• class Car {
• public Car() { [Link]("Car created!"); }
• }
Private Constructor
• ✔ Object creation restricted.
• ✔ Used in Singleton or Utility classes.
• Example:
• class Database {
• private Database() {}
• public static Database getInstance() { return new Database(); }
• }
Protected Constructor
• ✔ Accessible within same package and subclasses.
• ✔ Not accessible directly outside package.
• Example:
• class Vehicle {
• protected Vehicle() {}
• }
Default (Package-Private)
Constructor
• ✔ No modifier used.
• ✔ Accessible only within same package.
• Example:
• class Student {
• Student() { [Link]("Student created"); }
• }
Summary: Constructor Access
Specifiers
Access Specifier Who Can Access?
public Anywhere
private Only inside the same class
protected Same package + subclasses
default Same package only