Mastering Constructors and Java Access Specifiers
What is a Constructor?
A constructor is a special member function of a class that is automatically invoked when an object of the class is created. Its main purpose is to initialize the data members of the class. In C#, a constructor has the same name as the class and does not have any return type, not even void.
Characteristics of a Constructor
- Same name as class: The constructor name must be exactly the same as the class name.
- No return type: Constructors do not return any value.
- Automatically called: It is invoked automatically when an object of the class is created.
- Used for initialization: Constructors initialize data members and allocate resources.
- Can be overloaded: Multiple constructors can exist in a class with different parameters.
- Default constructor: If no constructor is defined, the compiler provides a default constructor.
Example of a Constructor in C#
class Student
{
int rollNo;
public Student()
{
rollNo = 1;
}
}
Types of Constructors
- Default Constructor
- Parameterized Constructor
- Copy Constructor
- Static Constructor
- Private Constructor
Access Specifiers in Java
Access specifiers in Java define the scope and visibility of classes, variables, methods, and constructors. They control how and where a member of a class can be accessed. Java provides four types of access specifiers.
Types of Access Specifiers
- Public: Members declared as public are accessible from anywhere, including within the same class, same package, subclasses, and outside packages.
- Private: Members declared as private are accessible only within the same class. It provides the highest level of data security.
- Protected: Members declared as protected are accessible within the same package and by subclasses even if they are in different packages.
- Default (Package-private): If no access specifier is mentioned, it is treated as default access. Members are accessible only within the same package.
Characteristics of Access Specifiers
- Control visibility: Access specifiers decide where class members (variables, methods, and constructors) can be accessed from.
- Provide data security: By restricting access, they help in data hiding and protect sensitive information.
- Support encapsulation: Access specifiers are a key feature in implementing encapsulation in object-oriented programming.
- Define scope of access: They specify whether a member is accessible within the class, package, subclass, or outside the package.
English with a size of 3 KB