V tomto článku se dozvíte o balíčcích a jejich použití k vytváření modulárního kódu v Javě.
Balíček Java
Balíček je jednoduše kontejner, který seskupuje související typy (třídy Java, rozhraní, výčty a poznámky). Například v základní Javě ResultSet
patří rozhraní k java.sql
balíčku. Balíček obsahuje všechny související typy, které jsou potřebné pro dotaz SQL a připojení k databázi.
Pokud chcete ResultSet
ve svém kódu použít rozhraní, stačí importovat balíček java.sql (Import balíčků bude popsán dále v článku).
Jak již bylo zmíněno dříve, balíčky jsou pouze kontejnery pro třídy Java, rozhraní atd. Tyto balíčky vám pomohou rezervovat obor názvů tříd a vytvořit udržovatelný kód.
Například Date
v Javě najdete dvě třídy. Pravidlem programování v jazyce Java však je, že v projektu Java je povolen pouze jeden jedinečný název třídy.
Jak se jim podařilo zahrnout do JDK dvě třídy se stejným názvem Date?
To bylo možné, protože tyto dvě Date
třídy patří do dvou různých balíčků:
java.util.Date
- toto je normální třída Date, kterou lze použít kdekoli.java.sql.Date
- toto je datum SQL používané pro dotaz SQL a podobně.
Na základě toho, zda je balíček definován uživatelem nebo ne, jsou balíčky rozděleny do dvou kategorií:
Integrovaný balíček
Integrované balíčky jsou existující balíčky Java, které jsou součástí JDK. Například java.lang
, java.util
, java.io
, atd. Například:
import java.util.ArrayList; class ArrayListUtilization ( public static void main(String() args) ( ArrayList myList = new ArrayList(3); myList.add(3); myList.add(2); myList.add(1); System.out.println(myList); ) )
Výstup :
myList = (3, 2, 1)
ArrayList
Třídy patří java.util package
. Chcete-li jej použít, musíme nejprve importovat balíček pomocí import
příkazu.
import java.util.ArrayList;
Uživatelem definovaný balíček
Java také umožňuje vytvářet balíčky podle vašich potřeb. Tyto balíčky se nazývají balíčky definované uživatelem.
Jak definovat balíček Java?
Chcete-li definovat balíček v Javě, použijete klíčové slovo package
.
balíček název_balíku;
Java používá adresáře systému souborů k ukládání balíků. Vytvořme soubor Java v jiném adresáři.
Například:
└── com └── test └── Test.java
Nyní upravte soubor Test.java a na začátek souboru napište příkaz balíčku jako:
balíček com.test;
Zde každá třída deklarovaná v testovacím adresáři patří do balíčku com.test .
Tady je kód:
balíček com.test; test třídy (public static void main (String () args) (System.out.println ("Hello World!");))
Výstup :
Ahoj světe!
Tady třída Test nyní patří do balíčku com.test .
Konvence pojmenování balíků
Název balíčku musí být jedinečný (například název domény). Existuje tedy konvence pro vytvoření balíčku jako názvu domény, ale v opačném pořadí. Například com.company.name
Zde je každá úroveň balíčku adresářem ve vašem systému souborů. Takhle:
└── com └── společnost └── jméno
Neexistuje žádné omezení, kolik podadresářů (hierarchie balíků) můžete vytvořit.
Jak vytvořit balíček v Intellij IDEA?
V IntelliJ IDEA můžete vytvořit balíček takto:
- Klikněte pravým tlačítkem na zdrojovou složku.
- Přejít na nový a pak balíček .
- Zobrazí se vyskakovací okno, kde můžete zadat název balíčku.
Jakmile je balíček vytvořen, vytvoří se podobná struktura složek i ve vašem systému souborů. Nyní můžete v balíčku vytvářet třídy, rozhraní atd.

Jak importovat balíčky v Javě?
Java má import
příkaz, který umožňuje importovat celý balíček (jako v předchozích příkladech) nebo používat pouze určité třídy a rozhraní definovaná v balíčku.
The general form of import
statement is:
import package.name.ClassName; // To import a certain class only import package.name.* // To import the whole package
For example,
import java.util.Date; // imports only Date class import java.io.*; // imports everything inside java.io package
The import
statement is optional in Java.
If you want to use class/interface from a certain package, you can also use its fully qualified name, which includes its full package hierarchy.
Here is an example to import a package using the import
statement.
import java.util.Date; class MyClass implements Date ( // body )
The same task can be done using the fully qualified name as follows:
class MyClass implements java.util.Date ( //body )
Example: Package and importing package
Suppose, you have defined a package com.programiz that contains a class Helper.
package com.programiz; public class Helper ( public static String getFormattedDollar (double value)( return String.format("$%.2f", value); ) )
Now, you can import Helper class from com.programiz package to your implementation class. Once you import it, the class can be referred directly by its name. Here's how:
import com.programiz.Helper; class UseHelper ( public static void main(String() args) ( double value = 99.5; String formattedValue = Helper.getFormattedDollar(value); System.out.println("formattedValue = " + formattedValue); ) )
Output:
formattedValue = $99.50
Here,
- the Helper class is defined in com.programiz package.
- třída Pomocník je importována do jiného souboru. Soubor obsahuje třídu UseHelper.
getFormattedDollar()
Metodou třídy Pomocník se nazývá zevnitř třídy UseHelper.

V Javě je import
příkaz psán přímo za příkazem balíčku (pokud existuje) a před definicí třídy.
Například,
balíček package.name; import package.ClassName; // pouze importuje třídu třídy MyClass (// body)