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

Java Variables and Data Types

   Variables in Java Variables are the containers to store the data values in the memory.  Variables are naming entities and must follow naming conventions. These rules typically include starting with a letter or underscore, using letters, numbers, or underscores (no spaces or special characters), avoiding reserved keywords, and using naming conventions such as CamelCase or snake_case for readability. These conventions help keep the code organized and understandable.                         Syntax:                                   data_type      variable_name;                                   data_type     variable_name     =     value;       ...

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...

How to write and run Hello world program in Java?

 QuickStart Every program must begin with the class name,  and the class must match the filename. Hello world program In above program, First class is created and file is saved as First.java same as class name.              Now, to run the program First.java, we need to compile it and it will run     To compile the java file, open cmd and locate the java file.     Type: javac filename.java     This will compile the java file and class file will be created  Now to run the java file. Type: java filename We can write java code in IDE  such as VS code, Intellj Idea, to write and run the program.