javaI.pdf

(334 KB) Pobierz
181941102 UNPDF
Programowaniewj¦zyku Java
AndrzejZoła
2004
Spistre±ci
Wst¦p 1
1Charakterystykaj¦zyka Java 1
1.1Przeno±no±¢................................... 1
1.2Obiektowo±¢................................... 2
1.3Bezpiecze«stwo................................. 3
1.3.1Bezpiecze«stwokonstrukcjij¦zykowych................ 3
1.3.2Mechanizmyochronyinformacjiwprogramach Javy ......... 4
1.4Sieciowo±¢.................................... 5
1.5Otwarto±¢.................................... 5
2Wprowadzeniedoprogramowaniaobiektowego 6
2.1Wielokrotnewykorzystanieklas.Kompozycjaidziedziczenie........ 6
2.2Klasyabstrakcyjneipolimorfizm....................... 7
3ABCj¦zykaJava 8
3.1Pierwszyprogram................................ 8
3.2Typypodstawowe................................ 12
3.3Operatory.................................... 13
3.4Uwaganaobiekty................................ 14
4Sterowaniewykonaniem 15
4.1Instrukcjesteruj¡ce............................... 15
4.1.1 if-else .................................. 15
4.1.2p¦tla for ................................. 16
4.1.3 while ................................... 17
4.1.4 do-while ................................. 17
4.1.5instrukcje: break i continue ....................... 18
4.1.6instrukcja switch ............................ 18
4.2Zakresy..................................... 19
5KlasyiobiektywJavie 20
5.1Definiowanieklas................................ 20
5.2Modyfikatory.................................. 21
5.3Własno±cimetod................................ 21
5.4Konstruktory.................................. 23
5.5Tworzenieobiektu............................... 23
5.6Przeci¡»anieobiektu.............................. 26
5.7Klasywewn¦trzne................................ 26
5.8Garbagecollector................................ 27
6Dziedziczenie 27
6.1Słówkilaopakietach.............................. 27
6.2Roladziedziczeniawprogramowaniuobiektowym.............. 28
6.3Wła±ciwo±ciklaspochodnych......................... 30
6.4Napocz¡tkubył Object ............................ 33
6.5Abstrakcja.................................... 36
6.6Interfejsy,czylisposóbnadziedziczeniewielobazowe............. 38
6.7Interfejsyakonfliktynazw........................... 40
6.8Rozszerzanieinterfejsów............................ 41
7Obsługawej±ciaiwyj±cia 42
7.1Obsługawyj¡tków............................... 43
7.1.1Wyrzucaniewyj¡tków......................... 44
7.1.2Przechwytywaniewyj¡tków...................... 44
7.1.3Lista throws ............................... 45
7.2Klasa File .................................... 47
7.3Strumienie.................................... 47
7.3.1Typy InputStream ........................... 47
7.3.2Typy OutputStream ........................... 48
7.3.3Strumienietekstowe.......................... 49
7.3.4Buforowanie............................... 50
7.3.5١czeniestrumieni........................... 50
7.4Czytaniezestandardowegowej±cia...................... 51
7.5 NewJavaIO .................................. 52
8Wykorzystanieklasbibliotekistandardowej 52
8.1Kontenery.................................... 53
8.1.1Typygeneryczne............................ 54
8.1.2Interfejs Collection ........................... 54
8.1.3Interfejs List .............................. 55
8.1.4Interfejs Set ............................... 57
8.1.5Interfejs Map .............................. 57
9Programowaniegraficzne–Swing 58
9.1Aplikacjeiaplety................................ 59
9.1.1Aplikacje................................. 60
9.1.2Aplety.................................. 61
9.1.3Konwersjaapletudoaplikacji..................... 65
9.2Przegl¡dkomponentówSwing......................... 66
9.2.1Etykieta JLabel ............................. 66
9.2.2Przycisk JButton ............................ 67
9.2.3Polaedycyjneitekstowe: JTextField i JTextArea .......... 68
9.2.4Przewijanie– JScrollPane ....................... 69
9.2.5Przyciskiwyboru JToogleButton ipochodne............. 70
9.2.6Okienkadialogowe– JOptionPane ................... 72
9.3Mened»eryukładu............................... 73
9.3.1 BorderLayout .............................. 73
9.3.2 FlowLayout ............................... 74
9.3.3 GridLayout ............................... 74
9.4Zdarzenia.................................... 74
9.4.1Adaptery................................ 75
9.4.2Klasyanonimowe............................ 75
9.5W¡tkiiichwykorzystaniewanimacji..................... 77
9.6Podwójnebuforowanie............................. 79
Zako«czenie 81
Programowaniewj¦zyku Java c 2004byA.Zoła
Wst¦p
W1995rokufirmaSunMicrosystemswprowadziłanaryneknowyj¦zykprogramo-
wania– Jav¦ .Byłtoj¦zykskładniowoopartynaznanymisprawdzonymj¦zykuC++.
Wprzeciwie«stwiejednakdoswegopierwowzoruj¦zyk Java niemusiałzachowywa¢kom-
patybilno±ciwstecznejzwcze±niejszymij¦zykami.Dzi¦kitemujestonbardziejspójnyi
„l»ejszy”odC++.
Dzi± Java tonietylkoj¦zykprogramowania,alecałyolbrzymizbiórtechnologiiipro-
duktówznimpowi¡zanych.Programynapisanew Javie działaj¡naprzeró»nychmaszynach
isystemachpoczynaj¡codtelefonówkomórkowychpoprzezkomputeryPC,ako«cz¡cna
wysokowydajnychserwerach.
1Charakterystykaj¦zyka Java
J¦zyk Java wmomencieswegopowstaniabyłinnyodwi¦kszo±ciznanychistosowanych
j¦zykówprogramowania(dzi±próbujesi¦gona±ladowa¢–np.Microsoftoparłna Javie
koncepcj¦swojegoj¦zyjaC#).Najwa»niejszymicechamicharakterystycznymi Javy s¡([8]):
•przenosno±¢,
•obiektowo±¢,
•bezpiecze«stwo,
•sieciowo±¢,
•otwarto±¢.
Postaramysi¦krótkoprzedstawi¢tecechy.
1.1Przeno±no±¢
Jednymzgłównychzało»e«j¦zyka Java byłaprzeno±no±¢programównapisanychw
tymj¦zyku,czylimo»liwo±¢wykonywaniaichnaró»nychmaszynachzró»nymisystema-
mi.Poniewa»jednakró»nekomputeryisystemyoferuj¡programowiinnyinterfejs( API )
iwymagaj¡ró»nychpostaciplikówwykonywalnychuzyskanieprzeno±no±ciwsposóbbez-
po±rednibyłoniemo»liwe.
Posłu»onosi¦wi¦cinn¡metod¡–zastosowanotzw.maszyn¦wirtuan¡( JVM ).Maszy-
nawirtualnajesttoprogramdziałaj¡cynaokre±lonejmaszynieiwokre±lonymsystemie
1
Programowaniewj¦zyku Java c 2004byA.Zoła
operacyjnym,którypo±redniczywwykonywaniuprogramówjavowych.Zpunktuwidze-
niatychostatnich,jestonsystememoferuj¡cym–zawszetensam–interfejs.Kodbinarny
klasprzeznaczonydlamaszynywirtualnejnazywmykodembajtowymlubbajtkodem(ang.
bytecode ).
Istniej¡maszynywirtualnedlaszerokiejgamyurz¡dze«komputerowychisystemów.I
dzi¦kitemu Jav¦ mo»emyspotka¢m.in.wpostacinast¦puj¡cychtechnologii:
J2ME Java2MicroEdition –jesttoniewielkamaszynawirtualnaprzeznaczona
dlaurz¡dze«oograniczonychzasobach,jaknp.telefonykomórkowe,
•aplety–s¡toprogramy Javy wbudowanewstronyWWW,s¡one±ci¡ganeiwyko-
nywanewprzegl¡darceinternetowej,
J2SE Java2StandardEdition –jesttoedycjaprzeznaczonadlakomputerówosobi-
stych.Istniej¡wersje J2SE dlawszystkichpopularnychsystemówoperacyjnych(jak
Windows,Linux,BSDiwieleinnych),
J2EE Java2EnterpriseEdition –jestto Java dlawysokowydajnychserwerów
słu»¡cadobudowyaplikacjirozproszonychzwykorzystaniemtakichtechnologiijak
RMI,CORBAczyEJB.Doskładników J2EE zaliczasi¦równie» ServletyJavy i
strony JSP ,czyliaktywnestronyWWWnapisanewj¦zyku Java .
Ostatni¡,cho¢nienajmniejwa»n¡cech¡ Javy wpływaj¡c¡pozytywnienajejprzeno-
±no±¢jestobsługaznakówwstandardzieUnicode.Dziekitemuznikapotrzebamartwienia
si¦oznakinarodowe–Unicodeobsługujewszystkiej¦zyki.Dziejesi¦takdzi¦kitemu,»e
ka»dyznakUnicodezajmuje2anie1bajt.Niestety,ztegopowoduprogramykorzysta-
j¡cezUnicodudziałaj¡niecowolniej.Jednakprzymocachobliczeniowychwspółczesnych
komputerówjesttorawienieodczuwalne.
1.2Obiektowo±¢
Wprzeciwie«stwiedowi¦kszo±cistosowanychobecnieobiektowychj¦zykówprogramo-
waniaw Javie obiektowo±¢niezostaładoł¡czonadoistniej¡cegoj¦zyka. Java byłaod
pocz¡tkuprojektowanajakoj¦zykobiektowy.Dlategote»w Javie niedasi¦programowa¢
nieobiektowo.
Wszystko,zczymmamydoczyniniawprogramiejestobiektemjakiej±klasy(pozakil-
komatypamypodstawowym).Wtensposóbpodej±cieobiektowedoprogramujestniejako
wymuszone,copoprawiamodułowo±¢budowyprogramuiułatwiajegodalsz¡rozbudow¦i
modyfikacj¦.
2
Zgłoś jeśli naruszono regulamin