background image

java 
/programy 

1

TYPY PROGRAMÓW JAVY 

• 

samodzielny program konsolowy 

• 

samodzielny program dostarczaj cy graficzny interfejs 
u ytkownika - okno 

• 

aplet działaj cy w  rodowisku Javy np. przegl darce www 

• 

serwlet działaj cy po stronie serwera 

 
 

PROGRAM KONSOLOWY 

public class Klasa 

   public static void main (String[] args) 

   { 

      System.out.println ("Pierwszy program w Javie"); 

   } 

 
 

OKNO 

import java.awt.*; 

public class Okno extends Frame 

public Okno () 

   { 

      super(); 

 

      setSize(320, 200);  

 

// ustawienie wielko ci okna 

      setVisible(true);   

 

// wy wietlenie na ekranie 

      setTitle("Moja aplikacja");  // tytuł na pasku 

   } 

 

public void paint(Graphics gDC) 

   { 

      gDC.drawString ("To jest aplikacja", 120, 100); 

   } 

 

public static void main(String args[]) 

   { 

      new Okno(); 

   } 

 
 

APLET 

import java.applet.*; 

import java.awt.*; 

 

public class Hello extends Applet 

   public void paint (Graphics g) 

   { 

      g.drawString ("Pierwszy aplet w Javie", 100, 50); 

   } 

 

 

background image

java 
/programy 

2

 

Aplet 

• 

aplet to program w Javie działaj cy w przegl darce www 

• 

przegl darka traktuje program Javy jako obiekt zwi zany z 
fragmentem ekranu - w Javie obiekt ten pochodzi z klasy 
Applet i jest szczególnym przypadkiem komponentu 
ekranowego Panel 
 

import java.awt.Graphics; 
import java.applet.Applet; 
 
public class Klasa extends Applet { 
........ 
                                  }

 

 

• 

aplet  uruchamiany samodzielnie i pod WWW zawiera 
zazwyczaj: 
 

import java.awt.Frame; 
import java.awt.Graphics; 
import java.applet.Applet;

 

 

 
 

• 

wywołanie apletu w ciele dokumentu HTML 

 
 
 

<applet   code=Nazwa_klasy.class   [codebase=katalog]  

alt=”tekst zast pczy je li aplet nie mo e by  wczytany”  

width=pixels      height=pixels  

align=left/right/top/texttop/middle/absmiddle/baseline/bottom/
absbottom

 

vspace=pixels   hspace=pixels   

name=”nazwa konieczna dla apletów na tej samej stronie 
odnajduj cych si  nawzajem” 

> 

<param name=....  value=....

<param name=....  value=....

</applet> 
 
 
 
 
 
 
 
 
 
 
 

background image

java 
/programy 

3

 
KOMPILACJA 
 

• 

w C/C++ efektem kompilacji jest 

kod maszynowy 

zoptymalizowany na konkretny procesor   szybko

 

działania 

• 

Java to j zyk interpretowany (taki jest potrzebny dla 
www)    ródła tłumaczone s  przy ka dym wykonaniu, co 
jest zbyt wolne 
rozwi zanie: kompilacja do 

kodu po redniego (byte code) 

dla abstrakcyjnej maszyny (

JVM – Java Virtual Machine

Maszyna Wirtualna Javy) 

• 

JVM jest po rednikiem mi dzy konkretn  maszyn  a 
programem w Javie   interpreter 

• 

JVM 

dynamicznie ł czy klasy, do których s  odwołania 

 
 

KOMPILACJA 

plik.

java

         

klasa1.

class   

osobne pliki dla ka dej 

                                               

klasa2.

class 

  klasy zdefiniowanej 

                

...........

class     

w  plik.java 

 

 

 

• 

wygodnie jest definiowa  po jednej klasie w jednym 
pliku   przy zmianie jakiej  klasy przekompilujemy 
tylko j  

 
 
 

 

Plik *

.

class 

ma zdefiniowan  struktur : 

 

• 

zawiera elementy o zmiennej długo ci 

• 

pola struktury zawieraj  informacj  o klasie i o jej 
klasie nadrz dnej 

• 

pola struktury zawieraj  informacj  o typach pól, 
metodach, atrybutach klasy (private, final itp.) 

• 

pierwsze 2 bajty pliku s  znacznikiem klasy 
(szesnastkowo: 

cafebabe

• 

metody składaj  si  z kodów operacji wygenerowanych 
przez kompilator - te kody odpowiadaj  instrukcjom 
rozumianym przez JVM 
 

 

 

 

 

background image

java 
/programy 

4

 

URUCHAMIANIE 

 

uruchomienie pliku 

 wywołanie funkcji main() 

 

uruchomienie interpretera Javy 

  

        przekazanie mu nazwy klasy 

 

             interpreter wywołuje metod  main() tej klasy

 

 

 

• 

interpreter Javy wywołuje metod  

main()

 klasy, która 

jest uruchomiona 
                

java   

Nazwa_klasy 

 

• 

JVM ładuje poszczególne klasy w miar  pojawiania si  
odwoła  do nich 

• 

program działa do ko ca metody 

main() 

lub ko ca w tku 

(np. je li w main() otworzono okno i main zako czy 
działanie to program działa nadal, poniewa  z oknem 
jest zwi zany w tek czekaj cy na jak

 akcie np. 

zamkni cie okna przez u ytkownika) 

• 

pami

 jest przydzielana w trakcie wykonywania 

programu; klasy ładowane s  dynamiczne 

 

 

ORGANIZACJA PROJEKTU

 

• 

interfejs i definicje s  w jednym miejscu   pliki 

ródłowe zawieraj  tylko DEFINICJE klas (a nie 

DEKLARACJE - funkcji nie deklarujemy z wyprzedzeniem) 

 
 

PAKIETY 

 

• 

przypominaj  biblioteki w C i C++ 

• 

Java dostarczana jest z kompletem pakietów 

• 

mo na pogrupowa  swoje klasy w pakiety 
 

 na pocz tku pliku  ródłowego klasy wstawi  

package

  

nazwa_pakietu

 

 

• 

mo na przypisa  dowolne klasy do dowolnych pakietów 
 

 plik   

.....

class  

trzeba umie ci  w katalogu o 

nazwie 

nazwa_pakietu

 

 

• 

u ycie przez inn  klas  klasy z pakietu 
 

 na pocz tku pliku przed definicj  klasy wstawiamy 

import

   nazwa_pakietu.*;

           (wszystkie klasy) 

import

   nazwa_pakietu.nazwa_klasy;   

(wybran  klas )