Explain packages in Java discuss access protection and importing packages with example.

 Explain packages in Java discuss access protection and importing packages with example.


 Packages in Java – Extended Explanation


✅ What is a Package in Java?

A package in Java is a collection of related classes, interfaces, and sub-packages grouped together.

πŸ‘‰ Simple meaning:
Package = Folder
Classes = Files inside folder

It helps to:

organize code properly

avoid name conflicts

provide security (access control)

reuse code easily

---
πŸ”Ή Types of Packages

1. Built-in (Predefined) Packages

Already provided by Java.

Examples:

java.lang

java.util

java.io

java.sql


Example:

import java.util.Scanner;


---

2. User-Defined Packages

Created by programmer.

Example:

package mypack;


---

πŸ”Ή How to Create a Package?

Step 1: Write package statement

package mypack;

Step 2: Create class

package mypack;

public class Message {
    public void show() {
        System.out.println("Hello Nami!");
    }
}

Step 3: Compile

javac -d . Message.java

πŸ‘‰ -d . creates folder automatically


---

πŸ”Ή Advantages of Packages

✅ Code organization
✅ Avoid class name duplication
✅ Easy maintenance
✅ Security using access protection
✅ Reusability


---

πŸ”Ή Access Protection in Packages

Java provides 4 access modifiers to protect data.

Modifier Same Class Same Package Subclass Other Package

private ✅ ❌ ❌ ❌
default ✅ ✅ ❌ ❌
protected ✅ ✅ ✅ ❌*
public ✅ ✅ ✅ ✅



---

1️⃣ Private

Accessible only inside same class

class Test {
    private int x = 10;
}

πŸ‘‰ Cannot access outside class


---

2️⃣ Default (no modifier)

Accessible only inside same package

class Test {
    int x = 20;
}

πŸ‘‰ Works inside same package only


---

3️⃣ Protected

Accessible:

same package

subclass (even different package)


protected int x = 30;


---

4️⃣ Public

Accessible everywhere

public int x = 40;


---

πŸ”Ή Example for Access Protection

Package: mypack

package mypack;

public class AccessDemo {
    private int a = 10;
    int b = 20;
    protected int c = 30;
    public int d = 40;

    public void display() {
        System.out.println(a + " " + b + " " + c + " " + d);
    }
}


---

Another class in same package

package mypack;

class Test {
    public static void main(String[] args) {
        AccessDemo obj = new AccessDemo();

        // System.out.println(obj.a); ❌ private
        System.out.println(obj.b); // ✅
        System.out.println(obj.c); // ✅
        System.out.println(obj.d); // ✅
    }
}


---

πŸ”Ή Importing Packages

To use classes from another package, we use import keyword.


---

Types of Import

1️⃣ Import single class

import java.util.Scanner;


---

2️⃣ Import all classes

import java.util.*;


---

3️⃣ Fully qualified name (no import)

java.util.Scanner sc = new java.util.Scanner(System.in);


---

πŸ”Ή Example Program using Import

import java.util.Scanner;

public class InputDemo {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        System.out.println("Enter your name:");
        String name = sc.nextLine();

        System.out.println("Hello " + name);
    }
}


---

πŸ”Ή Complete Example with User Defined Package

Step 1: Create package class

File: mypack/Calculator.java

package mypack;

public class Calculator {

    public int add(int a, int b) {
        return a + b;
    }
}


---

Step 2: Use package in another class

File: Main.java

import mypack.Calculator;

class Main {
    public static void main(String[] args) {

        Calculator obj = new Calculator();

        int result = obj.add(5, 3);

        System.out.println("Sum = " + result);
    }
}


---

πŸ”Ή Compilation Steps

javac -d . Calculator.java
javac Main.java
java Main

Output:

Sum = 8

---

✅ Final Conclusion

Packages in Java help to:

group related classes
avoid naming conflicts
provide access protection
improve security
make large projects manageable

Access modifiers control visibility, and import allows using classes from other packages easily.


Comments

Popular posts from this blog

Water comparison manufacturing

PRIDE -Dahlia Ravikovitch