Java Packages

JK 2010 
Created at
Updated at  
7,155 0 0

Java Packages & API

A package in Java is used to group related classes. Think of it as a folder in a file directory. We use packages to avoid name conflicts, and to write a better maintainable code. Packages are divided into two categories:

  • Built-in Packages (packages from the Java API)
  • User-defined Packages (create your own packages)

Built-in Packages

The Java API is a library of prewritten classes, that are free to use, included in the Java Development Environment.

The library contains components for managing input, database programming, and much much more. The complete list can be found at Oracles website: https://docs.oracle.com/javase/8/docs/api/.

The library is divided into packages and classes. Meaning you can either import a single class (along with its methods and attributes), or a whole package that contain all the classes that belong to the specified package.

To use a class or a package from the library, you need to use the import keyword:

import package.name.Class;   // Import a single class
import package.name.*;   // Import the whole package

Import a Class

If you find a class you want to use, for example, the Scanner class, which is used to get user input, write the following code:

import java.util.Scanner;

In the example above, java.util is a package, while Scanner is a class of the java.util package.

To use the Scanner class, create an object of the class and use any of the available methods found in the Scanner class documentation. In our example, we will use the nextLine() method, which is used to read a complete line:

import java.util.Scanner;

class MyClass {
  public static void main(String[] args) {
    Scanner myObj = new Scanner(System.in);
    System.out.println("Enter username");

    String userName = myObj.nextLine();
    System.out.println("Username is: " + userName);
  }
}

Import a Package

There are many packages to choose from. In the previous example, we used the Scanner class from the java.util package. This package also contains date and time facilities, random-number generator and other utility classes.

To import a whole package, end the sentence with an asterisk sign (*). The following example will import ALL the classes in the java.util package:

import java.util.*;

User-defined Packages

To create your own package, you need to understand that Java uses a file system directory to store them. Just like folders on your computer:

└── root
  └── mypack
    └── MyPackageClass.java

MyPackageClass.java

package mypack;
class MyPackageClass {
  public static void main(String[] args) {
    System.out.println("This is my package!");
  }
}

Save the file as MyPackageClass.java, and compile it:

C:\Users\Your Name>javac MyPackageClass.java

Then compile the package:

C:\Users\Your Name>javac -d . MyPackageClass.java

This forces the compiler to create the "mypack" package.

The -d keyword specifies the destination for where to save the class file. You can use any directory name, like c:/user (windows), or, if you want to keep the package within the same directory, you can use the dot sign ".", like in the example above.

Note: The package name should be written in lower case to avoid conflict with class names.

 

When we compiled the package in the example above, a new folder was created, called "mypack".

To run the MyPackageClass.java file, write the following:

C:\Users\Your Name>java mypack.MyPackageClass

The output will be:

This is my package!

 

Tags Java Java Packages Facebook X
Comments 0
Similar posts
  1. Java Inheritance (Subclass and Superclass)
    7,159
  2. Java Polymorphism
    7,036
  3. Java Classes and Objects
    7,060
  4. Java Inner Classes
    7,026
  5. Java Recursion
    7,181
  6. Java Scope
    7,071
  7. Java Methods
    7,062
  8. Java While Loop/Do While Loop/For Loop/For-Each Loop/Break/Continue
    7,804
  9. Java Switch Statements
    7,374
  10. Java Short Hand If...Else (Ternary Operator)
    7,540
  11. Java If ... Else
    7,360
  12. Java Math
    7,405
  13. Java Variables
    7,421
  14. Java Comments
    7,957
  15. The Print() Method
    7,133
  16. Java Syntax
    7,406
  17. Java Getting Started
    7,376
  18. What is Java?
    7,072
  19. Machine Learning Types and Programming Languages
    7,209
  20. Java Tutorials associated with AP Computer Science A
    7,557
  21. Creating a simple Java Servlet (Web Server Page) with Apache Maven on Microsoft Windows
    7,146
  22. Java Servlet Example
    7,101
  23. Difference between Java and Javascript
    7,567
  24. Challenge: One Code Problem Per Day
    1,041
  1. Java Servlet Example
    7,101
  2. How do I replace content that based on the HTML UI Template
    7,136
  3. Creating a simple Java Servlet (Web Server Page) with Apache Maven on Microsoft Windows
    7,146
  4. Dataset of California Foodbanks
    7,146
  5. Java Tutorials associated with AP Computer Science A
    7,557
  6. Java Inner Classes
    7,026
  7. Java Polymorphism
    7,036
  8. Java Inheritance (Subclass and Superclass)
    7,159
  9. Java Abstract Classes and Methods
    7,672
  10. Java Classes and Objects
    7,060
  11. Java Recursion
    7,181
  12. Java Scope
    7,071
  13. Java Methods
    7,062
  14. Java Arrays
    8,611
  15. Java While Loop/Do While Loop/For Loop/For-Each Loop/Break/Continue
    7,804
  16. Java Switch Statements
    7,374
  17. Java Short Hand If...Else (Ternary Operator)
    7,540
  18. Java If ... Else
    7,360
  19. Java Math
    7,405
  20. Java Variables
    7,421
  21. Java Comments
    7,957
  22. The Print() Method
    7,133
  23. Java Syntax
    7,406
Recently updated
  1. Bootstrap vs. Tailwind CSS: Origins, Features, Pros & Cons, and How to Choose the Right Framework
    62
  2. The Complete Guide to Golang: History, Features, Real-World Uses, and Code Examples
    140
  3. Telemetry vs. Analytics: Understanding the Difference and Why It Matters
    172
  4. The Evolution and Production Reality of Agentic AI
    166
  5. How to Activate or Waive Your UIUC Student Health Insurance
    240
  6. Complete Guide to Building a Machine Learning Model
    290
  7. My life cuts at Las Vegas during Thanksgiving day holiday
    7,369
  8. The Cybercab Transformation: From Autonomous Taxi to Mobile Base Station
    313
  9. Harness vs. OpenClaw: Two Very Different "Agents"
    903
  10. Clean Python Environments: The Power of venv vs. Docker
    771
  11. What is Docker? Why is Docker also useful in a development environment?
    584
  12. UIUC 2026-2027 Academic Calendar
    1,466
  13. How to Build Llama 3 AI Apps with Python: Setup & User Prompts
    762
  14. Open-Source LLMs: The AI Revolution
    709
  15. Resume 2.0: Leveling Up for My First Software Gig
    2,084
  16. Not everyone will understand what this man just did
    1,729
  17. UIUC Dorm Guide: Find Your Perfect Fit !!
    1,545
  18. Unpacking IU's Shopper
    709
  19. Jackie Chan's Police Story: The Action Masterpiece
    608
  20. The IVE Story: Identity, 'I AM' Charts, and Influence
    910
  21. Tech Visionaries who graduated at UIUC - You are the Next Turn
    1,148
  22. Open Databases for Sex Crime Occurrences in the U.S.
    675
  23. Automatically copy text to the clipboard when dragging the mouse in the Cursor
    2,521
  24. My First Day at University of Illinois-Urvana Champaign
    1,155
  25. Sand, Sea, and a Splash of Fun at Newport Beach: A Family Adventure
    8,084
  26. Sun, Rocks, and Adventure: A Day at Joshua Tree National Park
    8,157
  27. Sipping the Stars: My Starbucks Adventure
    9,576
  28. Exciting explore at Sequoia National Park
    7,616
  29. My Life Shot at Death Valley
    1,629
  30. Ip Man fights with Muay Thai Master
    900
  31. Mad Clown - Don't Die
    974
  32. How to get Student Enrollment and Degree Verification at UIUC
    4,657
  33. LAX Thanksgiving Rush: A Joyful Reunion
    896
  34. ZO ZAZZ(조째즈) - Don`t you know (모르시나요) (PROD.ROCOBERRY)
    1,079
  35. FISHINGIRLS Unleashes Energetic EP 'Funiverse' Featuring Signature Track 'Fishing King'
    943
  36. 10CM - To Reach You (너에게 닿기를)
    1,127
  37. Feeling weak? Transform yourself at the UIUC ARC!
    1,547
  38. BOYNEXTDOOR - If I Say I Love You
    1,154
  39. The Future of Software Engineer - AI Engineering
    913
  40. G Dragon x Taeyang (Eyes Nose Lips, Power, Home Sweet Home, GOOD BOY) - LE GALA PIÈCES JAUNES 2025
    881
  41. Lie - Legend song by BIGBANG
    7,788
  42. Why ROLLBACK is useful when you work with Google Gemini CLI?
    806
  43. Reimbursement after Vaccination at McKinley Health Center
    974
  44. Gemini CLI makes a Magic! Time to speed up your app development with Google Gemini CLI!
    936
  45. Common Questions from UIUC school life in terms of CS Program
    1,074
  46. UIUC Immunization Compliance
    1,165
  47. LEE CHANHYUK's songs really resonate with my soul - Time Stop! Vivid LaLa Love, Eve, Endangered Love ...
    1,064
  48. LEE CHANHYUK - Endangered Love (멸종위기사랑)
    1,068
  49. Cupid (OT4/Twin Ver.) - LIVE IN STUDIO | FIFTY FIFTY (피프티피프티)
    844
  50. Common methods to improve coding skills
    958