w1 java

w1 java, informatyka, Wykłady Java B.Pańczyk
[ Pobierz całość w formacie PDF ]
Literatura
„Pierwsza fili
Ŝ
anka Javy”
JAVA - Wprowadzenie
• Laura Lemay, Rogers Cadenhead: "Java 2 dla
kaŜdego", Helion, Gliwice 2001
• Marcin Lis, "Java. Ćwiczenia praktyczne.",
Helion, Gliwice 2006
• Bruce Eckel: "Thinking in Java", edycja polska,
Helion, Gliwice 2006
Beata Pańczyk - Java (Wykład 1)
2
Czym jest Java?
Wieloplatformowo
ść
Javy
• Uniwersalny (w pełni obiektowy) język
programowania
• Uniwersalne środowisko:
programowania GUI,
dostępu do baz danych, programowania multimediów,
programowania sieciowego, programowania w systemach
rozproszonych, budowania programów z gotowych
komponentów - JavaBeans, środowisko przetwarzania
dokumentów XML, Mikro-Java do oprogramowania
obsługi sprzętu elektronicznego
• Wieloplatformowość
- standardowe biblioteki i
narzędziowe interfejsy programistyczne (API)
B-kod
.class
3
4
Wersje Javy
• 1.0.x - ubogi zestaw komponentów GUI, zły model
obsługi zdarzeń
• 1.1.x - przełom - nowy model obsługi zdarzeń, Java
Beans, Swing
• 1.2.x - integracja istniejących rozwiązań, Graphics
2D, platforma Java 2 (interfejs programistyczny
zmienia nazwę z JDK - Java Developer Kit na Java 2
SDK - Software Developer Kit)
• platforma Java 2 - trzy edycje: standardowa (J2SE),
biznesowa (Enterprise Edition J2EE) i mikro (Micro
Edition J2ME) dostępne pod adresem
Najnowsza wersja Javy
• rok 2006 - oficjalna nazwa „Java 6” (w dokumentacji
uŜywany numer 1.6.)
• Składnikami platformy Java (juŜ nie Java 2) są:

Java SE
(ang. Java Standard Edition) - środowisko
podstawowe

Java EE
(ang. Java Enterprise Edition) - środowisko
tworzenia aplikacji biznesowych

Java ME
(ang. Java Mobility Edition) - środowisko
tworzenia aplikacji do urządzeń przenośnych
Te same składniki platformy Java 2 nosiły nazwy: J2SE,
J2EE i J2ME .
5
6
1
B-kod .class
 Java SE
Obiektowo
ść
w programowaniu

JDK
(ang. Java Development Kit) - podstawowe
środowisko do tworzenia i uruchamiania programów
Javy

JRE
(ang. Java Runtime Environment) - środowisko
tylko do uruchamiania programów Javy
• W Javie 2 często uŜywano zamiennie nazw JDK i
SDK (ang. Standard Development Kit). Od wersji 6
rozróŜnia się JDK od SDK:

JDK
– Java SE Development Kit

SDK
– Java EE Development Kit.
• UŜywa się takŜe określeń: JDK 6, JRE 6.

Klasa
- typ danych, jej definicja opisuje
właściwości typu danych (atrybuty) i działania
(metody, usługi) które na nich moŜna wykonać

Obiekt
– egzemplarz (instancja) określonej klasy

Metoda (usługa)
- określone działanie obiektu
7
8
Obiektowo
ść
Javy - podstawy
Struktura programu w Javie (1)
• Schemat programu tworzą
klasy

Wszystkie
dane lub metody
musz
ą naleŜeć do jakiejś
klasy lub obiektu.
• Atrybuty obiektu nie są zwykle bezpośrednio dostępne
- dane są ukryte i traktowane jako nierozdzielna całość
z usługami (tzw.
hermetyzacja
lub
enkapsulacja
danych)
• Koncepcja
dziedziczenia
klas -
klasa dziedzicząca
(podklasa) inną przejmuje jej właściwości i ewentualnie
dodaje własne, wyspecjalizowane, kaŜda nowa klasa
dziedziczy domyślnie po systemowej klasie
Object

Pakiety
(package) Javy są zbiorem klas i obiektów.
package ... //deklaracja pakietu (nie konieczna)
import ... //deklaracje importu (zwykle potrzebne)
import ...
/** Komentarz dokumentacyjny
..........
*/
public class A{
... }
class B {
... }
9
10
Struktura programu w Javie (2)
Pakiety i nazwy kwalifikowane

pakiet
- swoista biblioteka klas, kaŜda klasa naleŜy do
jakiegoś pakietu
• klasy kompilowane z deklaracją pakietu
package
naleŜą do pakietu o nazwie podanej w deklaracji
• pakiety mają hierarchiczną strukturę np. pakiet
java.awt
zawiera podpakiet
java.awt.event
• nazwa kwalifikowana klasy znajdującej się w
nazwanym pakiecie ma formę:
nazwa_pakietu.nazwa_klasy
• klasy zdefiniowane w nie nazwanym pakiecie (np. w
pliku źródłowym) mają jako kwalifikowane swoje
proste nazwy
• program moŜe być zapisany
w jednym
lub
wielu plikach
źródłowych (.java), w szczególności wszystkie klasy
składające się na program moŜna umieścić w jednym pliku
lub kaŜdą klasę moŜna umieścić w odrębnym pliku
• w jednym pliku .java moŜe się znajdować
tylko jedna
klasa publiczna (public class)
• jeśli w pliku .java znajduje się klasa publiczna to program
musi mie
ć taką samą nazwę jak ta klasa
• wszystkie wybrane pliki źródłowe .java podlegają
kompilacji (kompilatorem javac.exe). Z kaŜdej klasy w
pliku(ach) źródłowych powstaje plik B-kodu o
rozszerzeniu .class
11
12
2
Deklaracja importu
Programy w Javie
• import pojedynczej klasy:
import java.awt.Button;
//importuje nazwę klasy
class A{
java.awt.Frame f=new java.awt.Frame(" Tytuł ");
Button b=new Button(”Ok”);
//uŜycie prostej nazwy
...}
• import nazw wszystkich klas danego pakietu:
import java.awt.*;
• pakiet
java.lang
(zawiera klasy
String
i
System
)
nie wymaga importu
- importowany domyślnie

Aplikacja
- samodzielny program

Aplet
- program wykonywany za
pośrednictwem przeglądarki (w
komputerze-kliencie)

Serwlet
- program wykonywany za
pośrednictwem przeglądarki (w
komputerze-serwerze)
13
14
Aplikacja
• jedna z klas musi zawierać metodę
public static void main(String[ ] args)
• jeśli jest to klasa publiczna, nazwa tej klasy musi być taka
sama jak nazwa pliku, w której jest zdefiniowana
• po kompilacji pliku źródłowego
.java
do B-kodu
(polecenie
javac
) powstają pliki
.class
(dla kaŜdej klasy
osobny plik)
• poleceniem
java
klasa
.class
zostaje załadowana przez
JVM (Java Virtual Machine) i sterowanie zostaje
przekazane do metody main( ), gdzie zaczyna się „Ŝycie”:
tworzenie obiektów, odwołania do innych klas aplikacji
Aplikacja 1 - kod
ź
ródłowy
• plik
HelloWordApp.java
/**
* Klasa HelloWorldApp implementuje applikację, która
* wyświetla napis "Hello World!" na standardowym wy
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!");
//Wyświetla napis
}
}
15
16
Aplikacja 1 - kompilacja
Aplikacja 1 - uruchamianie
17
18
3
Aplet
Aplet 1 - kod
ź
ródłowy .java
• jedna z klas dziedziczy klasę Applet, np.:
class MyAplet extends Applet{
...}
• po kompilacji powstaje (między innymi) plik
MyAplet.class
• musi istnieć plik HTML, w którym występuje
znacznik:
<applet code=MyAplet.class ...>
(ewentualnie jeszcze parametry i opcje)
• Plik
HelloWorld.java
import java.applet.Applet;
import java.awt.Graphics;
/**
* Klasa HelloWorld implementuje applet, który
* wyświetla "Hello World!"
*/
public class HelloWorld extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25
);//wyświetla napis
}
}
19
20
Aplet 1 - kod
ź
ródłowy .html
Aplet 1 - kompilacja i uruchamianie
• Plik
Hello.html
<HTML>
<HEAD><TITLE> Pierwszy aplet </TITLE></HEAD>
<BODY>
Wynik działania apletu:
<APPLET CODE="HelloWorld.class"
WIDTH=150 HEIGHT=25>
</APPLET>
</BODY>
</HTML>
• Kompilacja
HelloWorld.java
do
HelloWorld.class
• Uruchamianie apletu w oknie przeglądarki (cały
dokument HTML) lub za pomocą polecenia JDK
appletviewer
(tylko aplet)
21
22
Aplet 1 - widok w Applet
Viewer
Aplet 1 - widok w przegl
ą
darce
23
24
4
Do czego słu
Ŝą
pakiety?
Przykład 1
Tworzenie pakietu graf
• eliminacja konfliktów nazw
• pakiet (ang. packages) w Javie - pewien podzbiór
biblioteki, zawierają przewaŜnie funkcje związane
tematycznie
• pakiety mogą zawierać definicje interfejsów
• moŜna tworzyć własne pakiety zawierające
definicje klas i interfejsów przy uŜyciu wyraŜenia
package
.
• pakiet
graf
zawiera np. klasy reprezentujące obiekty
graficzne (punkt, odcinek, kwadrat, koło, itp.)
• udostępnienie powyŜszych klas innym programistom -
poprzez zgrupowanie ich w pakiecie
graf
, z kolei
pakiet ten moŜe być częścią innego pakietu np.
moje
zawierającym inne zdefiniowane pakiety.
• poszczególne klasy publiczne definiuje się w pliku o
nazwie:
NazwaKlasyPublicznej
.
java
oprócz definicji jednej klasy publicznej w pliku tym
mogą znajdować się definicje innych klas
niepublicznych
25
26
Przykład 1
Definicja klas pakietu graf
Przykład 1
Poło
Ŝ
enie plików .class
• po skompilowaniu, dla ka
Ŝ
dej klasy tworzone są pliki
z kodem bajtowym o nazwach
NazwaKlasy
.
class
• to, Ŝe klasa naleŜy do pakietu, determinuje takŜe
po
ł
oŜenie pliku z kodem bajtowym klasy w strukturze
katalogów
• pliki zawierające klasy z pakietu
moje.graf
muszą
znajdować się w folderze
moje\graf
a ten folder
powinien znajdowa
ć
się w miejscu zdefiniowanym
przez zmienną systemową CLASSPATH, która
określa po
ł
oŜenie plików z kodem bajtowym klas.
Jeśli zmienna ta przyjmuje wartość:
CLASSPATH = C:\Windows\java\classes;
to pliki znajdą się w katalogu:
C:\Windows\java\classes\moje\graf
• klasa
Kwadrat
zdefiniowana w pliku
Kwadrat.java
:
package moje.graf;
public class Kwadrat {
// definicja pl danych i metod klasy Kwadrat
} // ... ew. definicje innych klas niepublicznych
• klasa
Punkt
zdefiniowana w pliku
Punkt.java
:
package moje.graf;
public class Punkt {
// definicja pl danych i metod klasy Punkt
} // ... ew. definicje innych klas niepublicznych
27
28
Korzystanie z pakietów
Korzystanie z pakietów
• klasy naleŜące do róŜnych pakietów mogą mieć
takie same nazwy - kaŜdy pakiet tworzy swoją
"przestrze
ń
nazw"
• dostęp do klas z danego pakietu moŜliwy jest za
pomocą deklaracji
import
,
np. klasy zdefiniowane
w pakiecie
moje.graf
moŜna wykorzystać w
programie np.:
• deklaracji
import
moŜna nie stosowa
ć
, jeśli w
programie następuje odwołanie się bezpośrednio
do klasy poprzez pełną nazwę kwalifikowaną:
class Cos2 {
moje.graf.Punkt p = moje.graf.Punkt();
}
• dostęp do wszystkich klas np. z pakietu java.io,
realizuje deklaracja:
import java.io.*;
import moje.graf;
class Cos {
Punkt p = Punkt();
}
29
30
5
[ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • diabelki.xlx.pl
  • Podobne
    Powered by wordpress | Theme: simpletex | © Spojrzeliśmy na siebie szukając słów, które nie istniały.