Java paketlari / API
Java paketlari va API
Java tilida paket bir-biriga bog‘liq sinflarni guruhlash uchun ishlatiladi. Uni fayl katalogidagi papka deb tasavvur qiling. Paketlardan nomlar to‘qnashuvining oldini olish va qo‘llab-quvvatlash osonroq bo‘lgan kod yozish uchun foydalanamiz. Paketlar ikki toifaga bo‘linadi:
- O‘rnatilgan paketlar (Java API paketlari)
- Foydalanuvchi tomonidan yaratilgan paketlar (o‘z paketlaringizni yaratish)
O‘rnatilgan paketlar
Java API — Java ishlab chiqish muhitiga (Java Development Environment) kiritilgan, bepul foydalanish mumkin bo‘lgan oldindan yozilgan sinflar kutubxonasi.
Kutubxonada kiritilgan ma’lumotlarni boshqarish, ma’lumotlar bazasi bilan ishlash uchun komponentlar va yana ko‘p narsalar bor. To‘liq ro‘yxatni Oracle veb-saytida topish mumkin: https://docs.oracle.com/javase/8/docs/api/.
Kutubxona paketlar va sinflarga bo‘lingan. Ya’ni siz bitta sinfni (uning metodlari va atributlari bilan birga) yoki ko‘rsatilgan paketga tegishli barcha sinflarni o‘z ichiga olgan butun paketni import qilishingiz mumkin.
Kutubxonadagi sinf yoki paketdan foydalanish uchun import kalit so‘zini ishlatishingiz kerak:
Sintaksis
import package.name.Class; // Import a single class
import package.name.*; // Import the whole package
Sinfni import qilish
Agar foydalanmoqchi bo‘lgan sinfni topsangiz, masalan, foydalanuvchi kiritgan ma’lumotni olish uchun ishlatiladigan Scanner sinfini, quyidagi kodni yozing:
Misol
import java.util.Scanner;
Yuqoridagi misolda java.util — paket, Scanner esa java.util paketining sinfi.
Scanner sinfidan foydalanish uchun sinf obyektini yarating va Scanner sinfi hujjatlarida keltirilgan mavjud metodlarning istalganidan foydalaning. Bizning misolimizda to‘liq qatorni o‘qish uchun ishlatiladigan nextLine() metodidan foydalanamiz:
Misol
Foydalanuvchi kiritgan ma’lumotni olish uchun Scanner sinfidan foydalanish:
import java.util.Scanner;
class Main {
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);
}
}
Paketni import qilish
Tanlash uchun paketlar juda ko‘p. Oldingi misolda java.util paketidagi Scanner sinfidan foydalandik. Bu paketda sana va vaqt vositalari, tasodifiy sonlar generatori va boshqa yordamchi sinflar ham mavjud.
Butun paketni import qilish uchun ko‘rsatmani yulduzcha belgisi (*) bilan tugating. Quyidagi misol java.util paketidagi BARCHA sinflarni import qiladi:
Foydalanuvchi tomonidan yaratilgan paketlar
O‘z paketingizni yaratish uchun Java ularni saqlashda fayl tizimi kataloglaridan foydalanishini tushunishingiz kerak. Xuddi kompyuteringizdagi papkalar kabi:
Misol
└── root
└── mypack
└── MyPackageClass.java
Paket yaratish uchun package kalit so‘zidan foydalaning:
MyPackageClass.java
package mypack;
class MyPackageClass {
public static void main(String[] args) {
System.out.println("This is my package!");
}
}
Faylni MyPackageClass.java nomi bilan saqlang va uni kompilyatsiya qiling:
C:\Users\Your Name>javac MyPackageClass.java
So‘ng paketni kompilyatsiya qiling:
C:\Users\Your Name>javac -d . MyPackageClass.java
Bu kompilyatorni "mypack" paketini yaratishga majbur qiladi.
-d kalit so‘zi sinf fayli saqlanadigan manzilni belgilaydi. Istalgan katalog nomidan (masalan, c:/user (windows)) foydalanishingiz mumkin yoki, paketni shu katalogning o‘zida saqlamoqchi bo‘lsangiz, yuqoridagi misoldagidek nuqta belgisidan (".") foydalanishingiz mumkin.
Eslatma: Sinf nomlari bilan to‘qnashuvning oldini olish uchun paket nomi kichik harflarda yozilishi kerak.
Yuqoridagi misolda paketni kompilyatsiya qilganimizda "mypack" nomli yangi papka yaratildi.
MyPackageClass.java faylini ishga tushirish uchun quyidagini yozing:
C:\Users\Your Name>java mypack.MyPackageClass
Natija quyidagicha bo‘ladi:
This is my package!
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
