Skip to main content

Understanding Access Modifier

Java Program
package LAB_Report;
/*
2. Write a program in Java to demonstrate the usage of access modifiers: public, private,
protected and default.
*/
class AccessModifier{
int defaultValue; // this is visible within the package only
public int publicValue; // this is visible everywhere
protected int protectedValue; // this is visible within the package and subclasses
private int privateValue; // this is visible within the class only


public void setPrivateValue(int privateValue) {
this.privateValue = privateValue;
}

public int getPrivateValue() {
return privateValue;
}
}
class AccessModifierProtected extends AccessModifier{

public void setValue(int value2){
this.protectedValue = value2;
}
public int getValue2(){
return protectedValue;
}
}
public class Lab_2 {
public static void main(String[] args) {
AccessModifier am = new AccessModifier();
AccessModifierProtected amp = new AccessModifierProtected();
// Access Modifiers are used for encapsulation purposes for security reason

am.defaultValue = 1;
System.out.println("Default Value:"+am.defaultValue);
// Default access modifier is written without any keyword
// We can access default modifier within the same package
// In this package "defaultValue" is initialized as default modifier in the class "AccessModifier"
// Therefore I can access it in the same class "AccessModifier"
// child class as it is in the same package and in the main function too
am.publicValue = 2;
System.out.println("Public Value:"+ am.publicValue);
// Public access modifier is achieved using "public" keyword
// we access the defaultValue of Public modifier everywhere within or outside the package subclasses
// In this package "publicValue" is initialized as Public modifier in the class "AccessModifier"
// So, it accessible everywhere in the subclass, main function
am.protectedValue = 3;
System.out.println("Protected Value(same package):"+ am.protectedValue);
amp.setValue(4);
System.out.println("Protected Value(childClass):"+ amp.getValue2());
// Protected access modifier is written with "protected" keyword
// we can access the defaultValue of Protected keyword within the package or subclasses
// Here, in this program, I have initialized "protectedValue" as Protected modifier
// and also created subclass "AccessModifierProtected"
// now I can access this protected protectedValue within the class AccessModifier and its subclass
am.setPrivateValue(5);
System.out.println("Private Value:"+ am.getPrivateValue());
// Private access modifier is written with "private" keyword
// we can access private modifier defaultValue within same class only
// Here, the defaultValue of privateValue is initialized as Private defaultValue
// So, I can access this in the same class AccessModifier only
// to access this defaultValue we can make getter and setter in the same class
// I have made the setPrivateValue and getPrivateValue methods to set and get defaultValue of the private modifier
// It is beneficial to use private modifier if we don't wanna give direct access to the variable


}
}
    Output:
    Default Value:1
    Public Value:2
    Protected Value(same package):3
    Protected Value(childClass):4
    Private Value:5

Comments

Popular posts from this blog

String Function

  package StringLearning; class Display { public static void print (String s) { System. out .println(s); } } public class StringFunc { public static void main (String[] args) { String s = "Java Programming" ; // Display original string Display. print (s); // Converts all characters to lower case Display. print ( "LowerCase: " + s.toLowerCase()); // Converts all characters to upper case Display. print ( "UpperCase: " + s.toUpperCase()); // Concatenates the specified string to the end of the original string Display. print ( "Concatenation: " + s.concat( " is easy." )); // Replaces each occurrence of a character with a new character Display. print ( "Replace 'a' with 'b': " + s.replace( 'a' , 'b' )); // Replaces each occurrence of a substring with a new substring Displ...

Understanding Objects, Classes, and Instance Variables in Programming

What is an Object? An object is an entity that possesses both state and behavior. In simple terms, an object is an instance of a class. It encapsulates the properties (state) and functionalities (behavior) defined by its class.  Example: Object: Pencil State:   Name: Ballpoint   Color: Black Behavior:   - To write  What is a Class? A class is a blueprint for creating objects. It defines a set of properties and methods that the created objects will have. Think of a class as a template that outlines what an object will be like. Components of a Class: Fields: Variables to store data. Methods: Functions to define behaviors. Constructors: Special methods to initialize objects. Blocks: Code blocks for initialization. Nested Class and Interface: Classes or interfaces defined within another class Instance Variables Instance variables are variables declared within a class but outside any method. They are specific to each object created from the class. Unlike static varia...