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

FeatureDescription
package keywordDeclares a package at the top of a file
import keywordImports classes or entire package
Built-in packagesProvided by Java (e.g., java.util, java.io)
User-defined packagesCreated by programmer to organize classes
BenefitsModularity, Reusability, Name conflict avoidance, Access protection

You may also like...