- Пакет Java
- Приклад упаковки
- Пакет доступу
- Підпакет
- Надсилання файлу класу в інший каталог
- -перемикач шляху до класів
- 4 способи завантажити файл класу або файл jar
- Як помістити два публічні класи в пакет
- Статичний імпорт
- Клас упаковки
А пакет java це група подібних типів класів, інтерфейсів і підпакетів.
Пакет у Java можна розділити на дві категорії: вбудований пакет і пакет, визначений користувачем.
Є багато вбудованих пакетів, таких як java, lang, awt, javax, swing, net, io, util, sql тощо.
Тут ми детально навчимося створювати та використовувати пакети, визначені користувачем.
рік був винайдений комп’ютер
Перевага Java Package
1) Пакет Java використовується для класифікації класів та інтерфейсів, щоб їх можна було легко підтримувати.
2) Пакет Java забезпечує захист доступу.
3) Пакет Java усуває колізію імен.
Простий приклад пакета java
The ключове слово пакета використовується для створення пакета в java.
//save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } }
Як скомпілювати пакет java
Якщо ви не використовуєте жодну IDE, вам потрібно дотримуватися синтаксис наведено нижче:
javac -d directory javafilename
для приклад
javac -d . Simple.java
Перемикач -d вказує місце призначення, куди помістити створений файл класу. Ви можете використовувати будь-яку назву каталогу, наприклад /home (у випадку Linux), d:/abc (у випадку windows) тощо. Якщо ви хочете зберегти пакет у тому самому каталозі, ви можете використовувати . (крапка).
Як запустити пакетну програму java
Ви повинні використовувати повну назву, напр. mypack.Simple тощо для запуску класу.
Для компіляції: javac -d . Simple.java |
Бігти: java mypack.Simple |
Output:Welcome to package
-d - це перемикач, який повідомляє компілятору, куди помістити файл класу, тобто він представляє місце призначення. . представляє поточну папку. |
Як отримати доступ до пакета з іншого пакета?
Є три способи отримати доступ до пакета поза пакетом.
- пакет імпорту.*;
- import package.classname;
- повне ім'я.
1) Використання імені пакета.*
Якщо ви використовуєте package.*, то всі класи та інтерфейси цього пакету будуть доступні, але не підпакунки.
Ключове слово import використовується, щоб зробити класи та інтерфейс іншого пакета доступними для поточного пакета.
Приклад пакета, який імпортує назву пакета.*
//save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} }
//save by B.java package mypack; import pack.*; class B{ public static void main(String args[]){ A obj = new A(); obj.msg(); } }
Output:Hello
2) Використання packagename.classname
Якщо ви імпортуєте package.classname, тоді буде доступний лише оголошений клас цього пакета.
Приклад пакета імпорту package.classname
//save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} }
//save by B.java package mypack; import pack.A; class B{ public static void main(String args[]){ A obj = new A(); obj.msg(); } }
Output:Hello
3) Використання повного імені
Якщо ви використовуєте повне ім’я, тоді доступним буде лише оголошений клас цього пакета. Тепер імпортувати не потрібно. Але вам потрібно використовувати повне ім’я кожного разу, коли ви отримуєте доступ до класу чи інтерфейсу.
Зазвичай він використовується, коли два пакунки мають однакову назву класу, наприклад. Пакунки java.util і java.sql містять клас Date.
Приклад пакета за імпортованою повною назвою
//save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} }
//save by B.java package mypack; class B{ public static void main(String args[]){ pack.A obj = new pack.A();//using fully qualified name obj.msg(); } }
Output:Hello
Примітка. Якщо ви імпортуєте пакет, підпакети не імпортуватимуться.
Якщо ви імпортуєте пакет, усі класи та інтерфейси цього пакета будуть імпортовані, за винятком класів та інтерфейсів підпакетів. Отже, вам також потрібно імпортувати підпакет.
Примітка. Послідовність програми має бути пакет, потім імпорт, потім клас.
Підпакет в java
Пакет всередині пакета називається підпакет . Його слід створити для подальшої категоризації пакета .
Давайте візьмемо приклад, Sun Microsystem визначила пакет під назвою java, який містить багато класів, таких як System, String, Reader, Writer, Socket тощо. Ці класи представляють певну групу, наприклад. Класи Reader і Writer призначені для операцій введення/виведення, класи Socket і ServerSocket призначені для роботи в мережі тощо і так далі. Таким чином, Sun розділила пакет Java на такі підпакети, як lang, net, io тощо, і помістила класи, пов’язані з вводом/виводом, у пакет io, класи Server і ServerSocket у пакети net тощо.
Стандартом визначення пакета є домен.компанія.пакет, наприклад. com.javatpoint.bean або org.sssit.dao.
Приклад підпакета
package com.javatpoint.core; class Simple{ public static void main(String args[]){ System.out.println('Hello subpackage'); } }
Для компіляції: javac -d . Simple.java |
Бігти: java com.javatpoint.core.Simple |
Output:Hello subpackage
Як надіслати файл класу в інший каталог або диск?
Є сценарій, я хочу помістити файл класу вихідного файлу A.java в папку класів диска c:. Наприклад:
//save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } }
Для компіляції:
e:sources> javac -d c:classes Simple.java
Бігти:
Щоб запустити цю програму з каталогу e:source, вам потрібно встановити шлях до каталогу, де знаходиться файл класу. |
e:sources> set classpath=c:classes;.; |
e:sources> java mypack.Simple |
Інший спосіб запустити цю програму за допомогою перемикача -classpath java:
Перемикач -classpath можна використовувати з інструментом javac і java.
Щоб запустити цю програму з каталогу e:source, ви можете використати перемикач -classpath java, який повідомляє, де шукати файл класу. Наприклад:
операційні системи mac
e:sources> java -classpath c:classes mypack.Simple
Output:Welcome to package
Способи завантаження файлів класів або файлів jar
Є два способи завантажити файли класу: тимчасовий і постійний. |
- Тимчасовий
- Встановивши шлях до класу в командному рядку
- Перемикач -classpath
- Постійний
- Встановивши шлях до класу в змінних середовища
- Створивши файл jar, який містить усі файли класів, і скопіюйте файл jar у папку jre/lib/ext.
Правило: у вихідному файлі Java може бути лише один загальнодоступний клас, і він має бути збережений під назвою публічного класу.
//save as C.java otherwise Compilte Time Error class A{} class B{} public class C{}
Як помістити два публічні класи в пакет?
Якщо ви хочете помістити два загальнодоступних класи в пакет, створіть два вихідних файли Java, які містять один публічний клас, але збережіть ім’я пакета незмінним. Наприклад: |
//save as A.java package javatpoint; public class A{}
//save as B.java package javatpoint; public class B{}
Що таке функція статичного імпорту Java5?
Натисніть функцію статичного імпорту Java5. |
А як щодо класу пакета?
Клацніть для класу пакета |