Java balíčky


Java balíčky a API

Balíček v Javě se používá k seskupení souvisejících tříd. Představte si to jako složku v adresáři souborů . Balíčky používáme, abychom se vyhnuli konfliktům názvů a napsali lépe udržovatelný kód. Balíčky jsou rozděleny do dvou kategorií:

  • Vestavěné balíčky (balíčky z Java API)
  • Uživatelem definované balíčky (vytvořte si vlastní balíčky)

Vestavěné balíčky

Java API je knihovna předem napsaných tříd, které jsou zdarma k použití a jsou součástí Java Development Environment.

Knihovna obsahuje komponenty pro správu vstupu, programování databází a mnoho dalšího. Kompletní seznam lze nalézt na webových stránkách Oracle: https://docs.oracle.com/javase/8/docs/api/ .

Knihovna je rozdělena na balíčky a třídy . To znamená, že můžete importovat buď jednu třídu (spolu s jejími metodami a atributy), nebo celý balíček, který obsahuje všechny třídy, které patří do zadaného balíčku.

Chcete-li použít třídu nebo balíček z knihovny, musíte použít import klíčové slovo:

Syntax

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

Importovat třídu

Pokud najdete třídu, kterou chcete použít, například Scannertřídu, která se používá k získání uživatelského vstupu , napište následující kód:

Příklad

import java.util.Scanner;

Ve výše uvedeném příkladu java.utilje balíček, zatímco Scannerje třída java.utilbalíčku.

Chcete-li Scannertřídu použít, vytvořte objekt třídy a použijte kteroukoli z dostupných metod uvedených v Scannerdokumentaci třídy. V našem příkladu použijeme nextLine()metodu, která se používá k přečtení celého řádku:

Příklad

Použití Scannertřídy k získání uživatelského vstupu:

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);
  }
}



Importujte balíček

Na výběr je mnoho balíčků. V předchozím příkladu jsme použili Scannertřídu z java.utilbalíčku. Tento balíček také obsahuje zařízení pro datum a čas, generátor náhodných čísel a další pomocné třídy.

Chcete-li importovat celý balíček, ukončete větu znakem hvězdičky ( *). Následující příklad importuje VŠECHNY třídy v java.utilbalíčku:

Příklad

import java.util.*;


Uživatelsky definované balíčky

Chcete-li vytvořit svůj vlastní balíček, musíte pochopit, že Java používá k jejich uložení adresář systému souborů. Stejně jako složky v počítači:

Příklad

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

K vytvoření balíčku použijte packageklíčové slovo:

MyPackageClass.java

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

Uložte soubor jako MyPackageClass.java a zkompilujte jej:

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

Pak zkompilujte balíček:

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

To přinutí kompilátor vytvořit balíček "mypack".

Klíčové -dslovo určuje cíl pro uložení souboru třídy. Můžete použít libovolný název adresáře, například c:/user (windows), nebo, pokud chcete balíček ponechat ve stejném adresáři, můžete použít tečku " .", jako v příkladu výše.

Poznámka: Název balíčku by měl být psán malými písmeny, aby nedošlo ke konfliktu s názvy tříd.

Když jsme zkompilovali balíček ve výše uvedeném příkladu, byla vytvořena nová složka nazvaná „mypack“.

Chcete-li spustit soubor MyPackageClass.java , napište následující:

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

Výstupem bude:

This is my package!