III. Java környezet 9. A Java nyelvről 10. Java programfejlesztés, JDK
9. A Java nyelvről III. Java környezet 1. Az OO programozási nyelvek térhódítása 2. A Java nyelv története 3. Az Internet, a World Wide Web és a Java 4. A Java nyelv jellemzői
Az OO programozási nyelvek térhódítása 1960: Simula-67 1970-80: Smalltalk különböző változatai (Szoftverkrízis, 1968) 1981: Smalltalk-80, Byte magazin 1980- : Terjed az OO, Smalltalk/V 1986-: OOPSLA 1990-: Minden nyelvet átírnak OO-ra 1996-: Java őrület
Az OO programozási nyelvek csoportosítása Tiszta OO: Csak OO programot lehet írni benne (Java, Smalltalk,Eiffel) Hibrid: Lehet strukturált programot is írni benne (Pascal, C++) Objektum alapú: Nem támogatja az öröklést (Basic) OO programnyelvek C++, Java, Smalltalk, Eiffel, Pascal, ...
OO vizuális fejlesztőeszközök A GUI vizuális szerkesztése A logikát nem lehet automatizálni JBuilder, Borland C++ Builder, Visual C++, Delphi ... OO adatbázis-kezelők Objektumok tárolása, bezárás, öröklés Nem terjednek. A relációs AB a népszerű. Hibrid adatbázis-kezelő rendszerek: ObjectStore, Versant ...
A Java nyelv története 1991: Green projekt Sun egy csoportja mini nyelvet tervez kommunikációs eszközök programozására (Patrick Naughton, James Gosling) A csoport múltja: C++, Unix Wirth ötlete: virtuális gép, hordozható nyelv A nyelv jól sikerült (Oak) – házalás (Netscape kudarc) Névkeresés – Java, a gőzölgő kávé
A Java nyelv története (folyt.) A WEB határtalan sebességgel terjed – kell böngésző HotJava (Patrick Naughton, Jonathan Payne) Beletették a JVM-et, a honlapok életre keltek! 1995: Bemutató 1996: Netscape 2.0 Java képes! És jön az őrület.... Bevált a Java? Hogyan tovább?
Internet, WWW, Java Internet: számítógépekből álló világháló WWW (World Wide Web): elektronikus információs tárház URL: Távoli gépen levő erőforrás (dokumentum) azonosítója, például: http:\\www.gdf.hu\angster\ook\info.htm
Browser, hypertext, applet
<HTML> <HEAD> <TITLE>Képek Pécsről</TITLE> </HEAD> <BODY> <h2 align = middle>Pécsi képek, 2000. szeptember</h2> <P>A képeket Antal Attila készítette. Látogasson el ide is: <A HREF="http:\\www.gdf.hu\angster\ook\info.htm"> <U>http:\\www.gdf.hu\angster\ook\info.htm</U></A></P> <APPLET code = "ViewPictures.class" width = 800 height = 500 > </APPLET> </BODY> </HTML>
A Java nyelv jellemzői 11 cél (white paper) Egyszerű Objektumorientált Elosztott Robusztus Biztonságos Architektúra-semleges Hordozható Interpretált Magas teljesítményű Többszálú Dinamikus
10. Java programfejlesztés, JDK III. Java környezet 10. Java programfejlesztés, JDK 1. A JDK installálása, könyvtárstruktúrája 2. Környezeti beállítások 3. A Java osztálykönyvtár filozófiája 4. Próbafutás a JDK-ban – Mintaprogram 5. Fordítás és futtatás több osztály esetén 6. Integrált fejlesztői környezet
JDK JDK = Java Development Kit Más neve: SDK = Software Development Kit Sun, JavaSoft, 1996 Ingyenes (URL: http://java.sun.com/products/jdk) Verziók: 1.0, 1.1, ... 1.2, ... 1.3, 1.3.1, ... Fejlesztői környezet: fordítás, futtatás ... API (Application Programming Interface) Java osztálykönyvtár
JDK könyvtárstruktúrája C:\ jdk1.3 bin // fejlesztői programok javac.exe // Java compiler java.exe // Java interpreter (JVM) appletviewer.exe // Java appletnéző ... demo // mintaprogramok applets // applet mintaprogramok sound // hang mintaprogramok jre // Java Runtime Environment lib rt.jar // API (osztálykönyvtár) bin java.exe // JVM docs // dokumentumok, külön kell installálni src.jar // API osztályok forráskódja (source)
Környezeti beállítások PATH PATH=%PATH%;c:\jdk1.3\bin CLASSPATH SET CLASSPATH=.;c:\javalib Ez egy saját könyvtár, mely tartalmazza az extra csomagot (adatbekérés, formázás).
API osztályhierarchia java | applet | | Applet | | ... | awt | | Component | | Container | | Frame | | Graphics | | Button | | Polygon | | font | | | LineMetrics | | | TextLayout | | | ... | | event | | | KeyListener | | | MouseListener | | | ... | io | | File | | PrintStream | | ... | lang | | Integer | | Math | | Object | | String | | System | util | | GregorianCalendar | | Locale | | Vector | | ... javax | sound | swing | | JButton
Csomag importálása a programba import java.awt.Frame; import java.awt.*; import java.lang.System; // felesleges
Próbafutás Feladat Írjunk egy Java programot, mely konzolra ír egy szöveget! // Elso Java programom public class Hurra { public static void main(String[ ] args) { System.out.println("Hurra, fut az elso Java programom!"); }
A Hurra osztály UML ábrája +main(args: String[])
Program begépelése, futtatása /1 Nyisson egy DOS ablakot! (Start\Programs\Command Prompt) Készítsen egy mappát a Java programoknak: md c:\javaprog setjava.bat futtatása c: cd \javaprog PATH=%PATH%;c:\jdk1.3\bin SET CLASSPATH=.;c:\javalib doskey
Program begépelése, futtatása /2 Hurra program a hurra mappában: md hurra cd hurra Notepad Start\Programs\Accessories\Notepad Program begépelése Program elmentése c:\javaprog\hurra\Hurra.java
Program begépelése, futtatása /3 Átváltás a DOS ablakba (NotePad-ből nem lépünk ki) Program fordítása javac Hurra.java Program futtatása java Hurra
Program begépelése, futtatása /4 do átváltás a Notepad szövegszerkesztőbe szöveg szerkesztése szöveg elmentése átváltás a DOS ablakba fordítás futtatás end do while nem OK
Több osztály Applikacio.java import java.util.* public class Applikacio { public static void main ... } class Osztaly1 { class Osztaly2 { package java.util; class GregorianCalendar class Date ... javac Applikacio.java (compiler) Applikacio.class Bájtkód Osztaly2.class Osztaly1.class java Applikacio (JVM) futtatja
Integrált fejlesztői környezet Tartalmaz szövegszerkesztőt fordítót futtatót Egyéb lehetőségek szintaktikai kiemelés nyomkövetés help Például: JCreator www.jcreator.com