Java Packages

🔹 Java Packages

A package in Java is a namespace that organizes a set of related classes and interfaces. Using packages helps in avoiding name conflicts, improving code maintainability, and reusing code.


✅ 1. Types of Packages

  1. Built-in Packages – Provided by Java API.

    • Example: java.util, java.io, java.lang

  2. User-defined Packages – Created by programmers to organize classes.


✅ 2. Creating a User-defined Package

Step 1: Create a Package

// File: MyPackage/MyClass.java
package MyPackage; // package declaration

public class MyClass {
public void showMessage() {
System.out.println("Hello from MyPackage!");
}
}

Step 2: Use the Package

// File: Main.java
import MyPackage.MyClass; // import class from package

public class Main {
public static void main(String[] args) {
MyClass obj = new MyClass();
obj.showMessage();
}
}

📌 Output:

Hello from MyPackage!

✅ 3. Accessing Classes in a Package

  • import packageName.className; → Import a specific class.

  • import packageName.*; → Import all classes in the package.

Example:

import java.util.Scanner; // single class
import java.util.*; // all classes in java.util

✅ 4. Built-in Package Example

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter your name: ");
String name = sc.nextLine();
System.out.println("Hello, " + name + "!");
}
}


✅ 5. Advantages of Packages

  1. Modularity – Organize classes into logical groups.

  2. Name Conflict Avoidance – Classes with same name can exist in different packages.

  3. Reusability – Packages can be reused in multiple programs.

  4. Access Protection – Package-private access level helps encapsulation.


✅ 6. Key Points

Feature Description
package keyword Declares a package at the top of a file
import keyword Imports classes or entire package
Built-in packages Provided by Java (e.g., java.util, java.io)
User-defined packages Created by programmer to organize classes
Benefits Modularity, Reusability, Name conflict avoidance, Access protection

CodeCapsule

Sanjit Sinha — Web Developer | PHP • Laravel • CodeIgniter • MySQL • Bootstrap Founder, CodeCapsule — Student projects & practical coding guides. Email: info@codecapsule.in • Website: CodeCapsule.in

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *