Java Packages

JK JK 2038 
Created at
Updated at  
7,237 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,235
  2. Java Polymorphism
    7,114
  3. Java Classes and Objects
    7,179
  4. Java Inner Classes
    7,137
  5. Java Recursion
    7,247
  6. Java Scope
    7,182
  7. Java Methods
    7,152
  8. Java While Loop/Do While Loop/For Loop/For-Each Loop/Break/Continue
    8,018
  9. Java Switch Statements
    7,491
  10. Java Short Hand If...Else (Ternary Operator)
    7,662
  11. Java If ... Else
    7,489
  12. Java Math
    7,513
  13. Java Variables
    7,557
  14. Java Comments
    8,180
  15. The Print() Method
    7,216
  16. Java Syntax
    7,536
  17. Java Getting Started
    7,485
  18. What is Java?
    7,145
  19. Machine Learning Types and Programming Languages
    7,319
  20. Java Tutorials associated with AP Computer Science A
    7,750
  21. Creating a simple Java Servlet (Web Server Page) with Apache Maven on Microsoft Windows
    7,242
  22. Java Servlet Example
    7,175
  23. Difference between Java and Javascript
    7,720
  24. Challenge: One Code Problem Per Day
    1,245
  1. How do I replace content that based on the HTML UI Template
    7,212
  2. Dataset of California Foodbanks
    7,228
  3. Java Abstract Classes and Methods
    7,851
  4. Java Arrays
    8,950
Recently updated
  1. Comprehensive Guide to Recent Critical PHP Vulnerabilities
    580
  2. How to Check Your UIUC Graduation Progress Using DARS Audit
    515
  3. Michael Jackson's Billie Jean
    347
  4. Meet A2O Lite: Korea's Newest K-Pop Cuties with Addictively Catchy Melodies
    246
  5. Why You Can't Stop Watching Jack Bryan's Beatbox Gaming Shorts
    263
  6. Song So-hee: The Soulful Voice Touching Hearts Through Korean Music
    288
  7. Watch This Dazzling Dancer’s Mind-Blowing Moves
    304
  8. Bootstrap vs. Tailwind CSS: Origins, Features, Pros & Cons, and How to Choose the Right Framework
    339
  9. The Complete Guide to Golang: History, Features, Real-World Uses, and Code Examples
    1,027
  10. Telemetry vs. Analytics: Understanding the Difference and Why It Matters
    488
  11. The Evolution and Production Reality of Agentic AI
    382
  12. How to Activate or Waive Your UIUC Student Health Insurance
    480
  13. Complete Guide to Building a Machine Learning Model
    501
  14. My life cuts at Las Vegas during Thanksgiving day holiday
    7,573
  15. The Cybercab Transformation: From Autonomous Taxi to Mobile Base Station
    521
  16. Harness vs. OpenClaw: Two Very Different "Agents"
    1,272
  17. Clean Python Environments: The Power of venv vs. Docker
    1,051
  18. What is Docker? Why is Docker also useful in a development environment?
    773
  19. UIUC 2026-2027 Academic Calendar
    1,899
  20. How to Build Llama 3 AI Apps with Python: Setup & User Prompts
    1,014
  21. Open-Source LLMs: The AI Revolution
    940
  22. Resume 2.0: Leveling Up for My First Software Gig
    2,765
  23. Not everyone will understand what this man just did
    2,286
  24. UIUC Dorm Guide: Find Your Perfect Fit !!
    1,790
  25. Unpacking IU's Shopper
    942
  26. Jackie Chan's Police Story: The Action Masterpiece
    819
  27. The IVE Story: Identity, 'I AM' Charts, and Influence
    1,135
  28. Tech Visionaries who graduated at UIUC - You are the Next Turn
    1,349
  29. Open Databases for Sex Crime Occurrences in the U.S.
    908
  30. Automatically copy text to the clipboard when dragging the mouse in the Cursor
    3,171
  31. My First Day at University of Illinois-Urvana Champaign
    1,343
  32. Sand, Sea, and a Splash of Fun at Newport Beach: A Family Adventure
    8,353
  33. Sun, Rocks, and Adventure: A Day at Joshua Tree National Park
    8,434
  34. Sipping the Stars: My Starbucks Adventure
    10,005
  35. Exciting explore at Sequoia National Park
    7,833
  36. My Life Shot at Death Valley
    1,967
  37. Ip Man fights with Muay Thai Master
    1,098
  38. Mad Clown - Don't Die
    1,215
  39. How to get Student Enrollment and Degree Verification at UIUC
    5,552
  40. LAX Thanksgiving Rush: A Joyful Reunion
    1,057
  41. ZO ZAZZ(조째즈) - Don`t you know (모르시나요) (PROD.ROCOBERRY)
    1,306
  42. FISHINGIRLS Unleashes Energetic EP 'Funiverse' Featuring Signature Track 'Fishing King'
    1,122
  43. 10CM - To Reach You (너에게 닿기를)
    1,306
  44. Feeling weak? Transform yourself at the UIUC ARC!
    1,714
  45. BOYNEXTDOOR - If I Say I Love You
    1,337
  46. The Future of Software Engineer - AI Engineering
    1,060
  47. G Dragon x Taeyang (Eyes Nose Lips, Power, Home Sweet Home, GOOD BOY) - LE GALA PIÈCES JAUNES 2025
    1,066
  48. Lie - Legend song by BIGBANG
    7,961
  49. Why ROLLBACK is useful when you work with Google Gemini CLI?
    1,040
  50. Reimbursement after Vaccination at McKinley Health Center
    1,168