V tomto článku sa dozviete o balíkoch a o tom, ako ich použiť na vytvorenie modulárneho kódu v jazyku Java.
Balík Java
Balík je jednoducho kontajner, ktorý zoskupuje súvisiace typy (triedy Java, rozhrania, výčty a anotácie). Napríklad v jadre Java ResultSet
patrí rozhranie k java.sql
balíku. Balík obsahuje všetky súvisiace typy, ktoré sú potrebné pre dotaz SQL a pripojenie k databáze.
Ak chcete ResultSet
vo svojom kóde použiť rozhranie, stačí importovať balík java.sql (Importu balíkov sa budeme venovať ďalej v článku).
Ako už bolo spomenuté skôr, balíčky sú iba kontajnermi pre triedy Java, rozhrania atď. Tieto balíčky vám pomôžu rezervovať priestor názvov tried a vytvoriť udržiavateľný kód.
Napríklad Date
v Jave nájdete dve triedy. Platí však pravidlo v programovaní Java, že v projekte Java je povolený iba jeden jedinečný názov triedy.
Ako sa im podarilo zaradiť do JDK dve triedy s rovnakým názvom Date?
To bolo možné, pretože tieto dve Date
triedy patria do dvoch rôznych balíkov:
java.util.Date
- toto je normálna trieda dátumu, ktorú je možné použiť kdekoľvek.java.sql.Date
- toto je dátum SQL používaný pre dopyt SQL a podobne.
Podľa toho, či je balík definovaný používateľom, alebo nie, sú balíčky rozdelené do dvoch kategórií:
Zabudované balenie
Vstavané balíčky sú existujúce java balíčky, ktoré sa dodávajú spolu s JDK. Napríklad java.lang
, java.util
, java.io
, atď. Naprí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
Triedy patrí java.util package
. Aby sme ho mohli použiť, musíme najskôr importovať balík pomocou import
príkazu.
import java.util.ArrayList;
Užívateľom definovaný balík
Java vám tiež umožňuje vytvárať balíčky podľa vašich potrieb. Tieto balíčky sa nazývajú používateľom definované balíčky.
Ako definovať balík Java?
Na definovanie balíka v Jave sa používa kľúčové slovo package
.
balík packageName;
Java používa na ukladanie balíkov adresáre súborového systému. Vytvorme súbor Java v inom adresári.
Napríklad:
└── com └── test └── Test.java
Teraz upravte súbor Test.java a na jeho začiatok napíšte príkaz balíka takto:
balíček com.test;
Tu patrí ktorákoľvek trieda deklarovaná v testovacom adresári do balíka com.test .
Tu je kód:
balíček com.test; test triedy (public static void main (String () args) (System.out.println ("Hello World!");))
Výstup :
Ahoj Svet!
Trieda Test teraz patrí do balíka com.test .
Konvencia pomenovania balíkov
Názov balíka musí byť jedinečný (napríklad názov domény). Existuje teda konvencia vytvárania balíka ako názvu domény, ale v opačnom poradí. Napríklad com.company.name
Tu je každá úroveň balíka adresárom vo vašom súborovom systéme. Páči sa ti to:
└── com └── spoločnosť └── meno
Neexistuje nijaké obmedzenie, koľko podadresárov (hierarchia balíkov) môžete vytvoriť.
Ako vytvoriť balíček v Intellij IDEA?
V IntelliJ IDEA môžete vytvoriť balíček takto:
- Pravým tlačidlom myši kliknite na zdrojový priečinok.
- Prejsť na nové a potom zabaliť .
- Zobrazí sa vyskakovacie okno, kde môžete zadať názov balíka.
Po vytvorení balíka sa vytvorí podobná štruktúra priečinkov aj vo vašom súborovom systéme. Teraz môžete vo vnútri balíka vytvárať triedy, rozhrania atď.

Ako importovať balíčky v Jave?
Java má import
príkaz, ktorý umožňuje importovať celý balík (ako v predchádzajúcich príkladoch) alebo používať iba určité triedy a rozhrania 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.
- trieda Pomocník sa importuje do iného súboru. Súbor obsahuje triedu UseHelper.
getFormattedDollar()
Metódou triedy Pomocník sa nazýva zvnútra triedy UseHelper.

V Jave je import
príkaz napísaný priamo za príkazom balíka (ak existuje) a pred definíciou triedy.
Napríklad,
balík package.name; import package.ClassName; // importuje iba triedu triedy MyClass (// body)