1 / 20

Pakiety w Javie

Pakiety w Javie. Łukasz Smyczyński (132834). Czym są pakiety?. Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety s ą więc pewnym podzbiorem biblioteki, zawieraj ą klasy po wi ą zane tematycznie. Pakiety mog ą tak ż e zawiera ć definicje interfejsów. . Czym są pakiety?.

ceallach
Download Presentation

Pakiety w Javie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pakiety w Javie Łukasz Smyczyński (132834)

  2. Czym są pakiety? • Klasy w Javie są grupowane w pewne zbiory zwane pakietami. • Pakiety sąwięc pewnym podzbiorem biblioteki, zawierająklasypowiązane tematycznie. • Pakiety mogą także zawierać definicje interfejsów.

  3. Czym są pakiety? • Pakiety umożliwiają oddzielenie naszego kodu od kodu bibliotek napisanych przez innych programistów. • Głównym powodem stosowania pakietów jest gwarancja unikalności nazw klas. • Wraz z JDK otrzymujemy dość pokaźną liczbę pakietów, zawierających w sumie kilka tysięcy klas.

  4. Przegląd standardowych pakietów Java posiada bogatą biblioteką standardowychpakietów, i tak do podstawowych należą: • java.lang: pakiet zawierający wszystkie podstawowe klasy Javy.Nie musi być jawnie importowany, ponieważ kompilator czyni to w sposób automatyczny. • java.io: klasy implementujące operacje wejścia/wyjścia. • java.util: pomocnicze klasy użytkowe (np. generacja liczb losowych, operacje na ciągach znaków, itp.)

  5. Przegląd standardowych pakietów Java posiada bogatą biblioteką standardowychpakietów, i tak do podstawowych należą: • java.net: zawiera klasy konieczne do tworzenia oprogramowania wykorzystującego sieć. Wraz z pakietem "java.io" umożliwia dostęp do sieci w celu ładowania lub wysyłania plików. • java.awt: klasy służące do tworzenia graficznego interfejsu użytkownika (GUI). • java.applet: pakiet zawierający klasy używane podczas tworzenia apletów.

  6. Plik źródłowy w Javie Ogólna postać pliku źródłowego Javy wygląda następująco: • pojedyncza instrukcja package (opcjonalna) • dowolna liczba instrukcji import (opcjonalne) • pojedyncza deklaracja klasy publicznej (wymagana) • dowolna liczba klas prywatnych (opcjonalna)

  7. Tworzenie pakietów • Na samym początku pliku źródłowego Javy może znajdować się instrukcja package, informująca kompilator o nazwie pakietu, do którego mają należeć wszystkie zdefiniowane klasy. • Pominięcie instrukcji packagepowoduje, że klasy z danego pliku są umieszczane w pakiecie domyślnym, nie posiadającym nazwy. • Użyta instrukcja packagemusi stanowić w pliku pierwszy element nie będący komentarzem

  8. Instrukcja package • Ogólna postać instrukcji packagewygląda następująco: package nazwapakietu; • A więc jeśli instrukcja pakietu umieszczona jako pierwsza komenda pliku źródłowego, np. package mojpakiet; to: • Wszystkie klasy w pliku należą do pakietu mojpakiet. • Inne pliki mogą również posiadać tą instrukcję: pakiet rozkłada się bowiem na wiele plików. • Wszystkie pliki .java są zapisywane w katalogu mojpakiet.

  9. Hierarchia pakietów • Można również tworzyć strukturę hierarchiczną pakietów, oddzielając ich nazwy za pomocą kropki. package pakiet1.pakiet2.pakiet3 • Struktura pakietów musi być skorelowana ze strukturą katalogów na dysku, a więc pliki zachowywane są w katalogu pakiet1\pakiet2\pakiet3 system Windows pakiet1/pakiet2/pakiet3 system Linux • Należy pamiętać o tym, że w Javie rozróżniane są małe i duże litery, zarówno w nazwach klas, jak i w nazwach plików i katalogów.

  10. Zmienna CLASSPATH • Istnieje możliwość umieszczania pakietów w różnych miejscach, o ile tylko ich struktura pokrywa się ze strukturą katalogów na dysku. Trzeba jednak również zmodyfikować zmienną środowiskową CLASSPATH, aby wskazywała ona na początek struktury, w której będziemy zapisywać nasze programy. • Np. jeżeli nasz plik zawierający definicję pakietu mojpakiet znajduje się w C:\MyJava\mojpakiet to zmienna CLASSPATH powinna mieć wartość .; C:\MyJava • Kropka w powyższym zapisie oznacza katalog roboczy. • Java poszukuje pakietów przeszukując kolejne katalogi wymienione w ścieżce CLASSPATH.

  11. Pakiety: przykład package mojpakiet; public class StanKonta { String nazwa; doublestankonta; public StanKonta (String n, double s) { nazwa = n; stankonta = s; } public void pokaz() { if (stankonta < 0) System.out.println (nazwa +": " + stankonta + " zl"); } }

  12. Pakiety: przykład package mojpakiet; class Pakiet { public static void main (String[ ] args) { StanKonta biezacy [ ] = new StanKonta [6]; biezacy [0] = new StanKonta ("T.Bialy" , 132.12 ); biezacy [1] = new StanKonta ("J.Schmidt" , -56.12 ); biezacy [2] = new StanKonta ("A.Moraw" , 34.75 ); biezacy [3] = new StanKonta ("K.Milski" , -46.95 ); biezacy [4] = new StanKonta ("L.Podly" , -134.14 ); biezacy [5] = new StanKonta ("A.Bakow" , 14.75 ); for (int i=0 ; i<6 ; i++) biezacy[ i ].pokaz ( ); } } J.Schmidt: -56.12 zl K.Milski: -46.95 zl L.Podly: -134.14 zl

  13. Jak nazywać pakiety? • Nazwy pakietów skonstruowane są podobnie jak ścieżki dostępu do plików. Na przykład klasa Date znajdująca się w pakiecie java.utilma pełną nazwę: java.util.Date, co oznacza: - java - pakiet należy do zestawu standardowych pakietów Javy - util - to różnego typu klasy użytkowe (pomocnicze) - Date - konkretna nazwa klasy. • Firma Sun zaleca, by w nazewnictwie klas niestandardowych przed właściwą nazwą pakietu stosować odwróconą nazwę domeny internetowej autora pakietu. Np. pl.wroc.pwr.kmeif.mylibrary (odwrócona kolejność!) • Dzięki takiemu systemowi nazwy klas są niepowtarzalne, co pozwala uniknąć niejednoznaczności.

  14. Korzystanie z pakietów • Klasa może używać wszystkich klas ze swojego pakietu oraz wszystkich klas publicznych należących do innych pakietów. • Istnieją dwa sposoby dostępu do klasy publicznej innego pakietu: 1) Możemy dołączyć pełną nazwę pakietu na początku każdej nazwy klasy, na przykład: java.util.Date dzisiaj = new java.util.Date(); Jest to jednak bardzo niepraktyczny sposób. 2) Możemy zaimportować konkretną klasę albo cały pakiet korzystając ze słowa kluczowego import.

  15. Importowanie pakietów • Słowo kluczowe import umożliwia bezpośrednie odwołanie się do klasy przez jej nazwę. • Możemy zaimportować cały pakiet albo konkretną klasę. Umieszczamy w tym celu słowo import na początku pliku źródłowego (ale pod słowem package), na przykład: import java.util.*; - cały pakiet java.util import java.util.Date; - konkretna klasa • Nie trzeba importować pakietu java.lang , gdyż kompilator dołącza go automatycznie. • Po zaimportowaniu możemy już używać Date dzisiaj = new Date();

  16. Konflikty nazw • Jeśli klasa o tej samej nazwie występuje w dwóch różnych importowanych do programu pakietach (np.klasa Date w poniższych pakietach): import java.util.*; import java.sql.*; to jeżeli użyjemy teraz klasy Date, otrzymamy błąd kompilacji, gdyż procesor nie potrafi określić której klasy Date chcemy użyć. • Można rozwiązać ten problem stosując jeszcze jedno polecenie import java.util.Date; lub przez użycie pełnej nazwy pakietu, na przykład Java.util.Date termin = new java.util.Date();

  17. Importowanie klas: przykład package mojpakiet; public class StanKonta { String nazwa; doublestankonta; public StanKonta (String n, double s) { nazwa = n; stankonta = s; } public void pokaz() { if (stankonta < 0) System.out.println (nazwa +": " + stankonta + " zl"); } }

  18. Importowanie klas: przykład import mojpakiet.*; public class Imporotwanie { public static void main ( String args[] ) { StanKonta test = new StanKonta ("T.Biały",-12.57); test.pokaz( ); } } T.Biały: -12.57 zl

  19. Literatura • Patrick Naughton - „Podręcznik języka programowania Java” • Bruce Eckel – „Thinking in Java”

  20. Koniec Dziękuję za uwagę.

More Related