java.lang Class Throwable

Σχετικά έγγραφα
ΕΞΑΙΡΕΣΕΙΣ. Εξαιρέσεις προκαλούνται. από το σύστηµα. από το πρόγραµµα

Πρόγραµµα 9.1 Πέρασµα δεδοµένων στην µνήµη

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 9 : ΕΞΑΙΡΕΣΕΙΣ ΚΑΙ Ο ΧΕΙΡΙΣΜΟΣ ΤΟΥΣ

Εξαιρέσεις (Exceptions) Λάθη (Errors) Χειρισμός των Εξαιρέσεων (Exception Handling) Assertions

6. Εξαιρέσεις στη γλώσσα Java

Οντοκεντρικός Προγραμματισμός

Εξαιρέσεις. try, catch, finally, throw, throws

Εξαιρέσεις (στη Java)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εξαιρέσεις

Αντικειμενοστρεφής Προγραμματισμός

Εξαιρέσεις στη Java. Περιεχόμενα. Κάποιες προκαθορισμένες ρ εξαιρέσεις. Κωστής Σαγώνας

Χειρισµός Σφαλµάτων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:

Προγραμματισμός ΙΙ (Java) 4. Διαχείριση εξαιρέσεων

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιαχείριση Εξαιρέσεων. Εισαγωγή στη ιαχείριση Εξαιρέσεων

Εξαιρέσεις στην Java EXCEPTIONS IN JAVA

Εξαιρέσεις (στη Java)

Εξαιρέσεις (στη Java)

Εξαιρέσεις (στη Java) Vincent van Gogh, Irises, 1889

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 10: Exceptions handling (Χειρισμός εξαιρέσεων)

Εξαιρέσεις (στη Java)

Κλάσεις και Αντικείµενα

Προγραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας

Κωστής Σαγώνας Πιάσιμο εξαιρέσεων (catching exceptions) Ρίψη εξαιρέσεων (throwing exceptions) Η πρόταση finally

Αντικειµενοστρεφής Προγραµµατισµός

Εξαιρέσεις (στη Java)

2.1 Αντικειµενοστρεφής προγραµµατισµός

Αντικειμενοστραφής Προγραμματισμός

Αντικειµενοστραφής Προγραµµατισµός

Χειρισμός Εξαιρέσεων EXCEPTIONS IN JAVA

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Είσοδος Έξοδος (Input Output) Εξαιρέσεις (Exceptions)

Ειδικά Θέματα Προγραμματισμού

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εξαιρέσεις

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός

ΑΝΑΚΕΦΑΛΑΙΩΣΗ. Τα βασικά για την γλώσσα Java

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.

Συντακτικά λάθη, λάθη εκτέλεσης, Λογικά λάθη

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring

ΣΕΜΙΝΑΡΙΟ JAVA. 5 η ιάλεξη

Βασικά της γλώσσας JAVA

Μέθοδοι. Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων

Προγραµµατισµός ΙΙ Java 2

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Εισαγωγή στον Προγ/μό Η/Υ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κληρονομικότητα

Κλάσεις. Τροποποιητές, ιασυνδέσεις, Πακέτα. Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων

ΕΠΛ233 ΕΞΑΙΡΕΣΕΙΣ στη JAVA

Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία: 21 Σεπτεµβρίου 2012

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).

Διδάσκων: Παναγιώτης Ανδρέου

Εργαστήριο 02: Προγραμματισμός με Γενικούς Τύπους (JAVA Generics) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι

Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα

ΚΑΤΑΝΕΜΗΜΕΝΟ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΣΥΣΚΕΥΩΝ ΑΣΗΜΑΚΟΠΟΥΛΟΣ ΣΩΤΗΡΗΣ ΑΜ : 3021

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

9:00-10:00 π.μ. (60 λεπτά) Παρασκευή, 14 Οκτωβρίου, 2016

Αντικειμενοστρεφής Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα

Remote Method Invocation (RMI)

Κληρονομικότητα. Κληρονομικότητα (inheritance) είναι ο τρόπος µε τον οποίο μία τάξη μπορεί να κληρονομήσει ιδιότητες και συμπεριφορά από άλλες τάξεις.

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07

Πακέτα (Packages) Φωλιασμένες ή Εσωτερικές Κλάσεις (Inner Classes) Παναγιώτης Σφέτσος, PhD

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κληρονομικότητα

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

Mεταβλητές (variables) και Σταθερές (constants)

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

Αντικειμενοστρεφής Προγραμματισμός

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΕΚΠΑΙ ΕΥΣΗΣ ΚΑΙ ΑΡΧΙ- ΚΗΣ ΕΠΑΓΓΕΛΜΑΤΙΚΗΣ ΚΑΤΑΡΤΙΣΗΣ (ΕΠΕΑΕΚ ΙΙ)

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2007 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες.

ΕΠΛ233 ΠΛΗΡΟΦΟΡΙΑ ΤΥΠΟΥ. Type Information. Μ. Δικαιάκος

Διδάσκων: Παναγιώτης Ανδρέου

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές)

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

Δομές Δεδομένων & Ανάλυση Αλγορίθμων. 3ο Εξάμηνο. Ουρά (Queue) Υλοποίηση της με τη βοήθεια πίνακα.

Διασυνδέσεις / Διεπαφές. Παναγιώτης Σφέτσος, PhD

Εισαγωγή στον Προγραμματισμό

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

Οντοκεντρικός Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

Καλές επιτυχίες παιδιά στα υπόλοιπα μαθήματά σας και καλές γιορτές!!!!

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κληρονομικότητα

Διδάσκων: Παναγιώτης Ανδρέου

Oι βασικές πράξεις (λειτουργίες) που ορίζονται για τον τύπο στοίβα αναφέρονται παρακάτω:

Η λέξη κλειδί this. Γαβαλάς Δαμιανός

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

Transcript:

EΞΑΙΡΕΣΕΙΣ Η java παρέχει ένα µηχανισµό, τις Εξαιρέσεις (exceptions), για να βρει και να χειριστεί τα λάθη που προκύπτουν κατά τις εργασίες Ι/Ο. Τα σφάλµατα και οι εξαιρέσεις είναι αντικείµενα της κλάσης Throwable στη Java. http://docs.oracle.com/javase/8/docs/api java.lang Class Throwable Η Throwable κλάση περιέχει δύο υποκλάσεις: Exception και Error. Μία υποκλάση της Exception είναι η RuntimeException. Οι κλάσεις, που παράγονται από την Error χρησιµοποιούνται για σηµαντικά λάθη του συστήµατος πχ OutOfMemoryError και για τα οποία ο προγραµµατιστής δεν µπορεί να κάνει κάτι.. Oι κλάσεις που παράγονται από την Exception και την RuntimeException, όπως π.χ. το ArithmeticException, χρησιµοποιούνται για συνηθισµένα λάθη, τα οποία ο προγραµµατιστής µπορεί να τα αντιµετωπίσει! Στόχος είναι να «πιάνουµε» τα σφάλµατα πριν διακοπεί η ροή του προγράµµατος. Όταν συµβεί ένα λάθος στο πρόγραµµα, π.χ. διαίρεση δια του µηδέν, τότε η Java δηµιουργεί αυτόµατα ένα αντικείµενο αυτών των κλάσεων και το ρίχνει (throws) στο πρόγραµµα. Αν το πρόγραµµα δεν το πιάσει (catch), τότε διακόπτεται η ροή του προγράµµατος µε την εµφάνιση ενός µηνύµατος λάθους. Μία µέθοδος που µπορεί να τελειώσει µε εξαίρεση έχει µία πρόταση throws πχ. public static int fact (int n) throws NonPositiveException public static int search (int[ ] a, int x) throws NullPointerException, NotFoundException public Ypallilos(int c) throws IllegalArgumentException Ρίψη (throw) εξαίρεσης [1]

Ρίψη µπορούµε να κάνουµε και εµείς!! µε την εντολή throw. if (c <= 0) throw new NonPositiveException( Num.fact ); Η εντολή throw προκαλεί την προσωρινή διακοπή της εκτέλεσης του προγράµµατος. Στην συνέχεια ελέγχονται οι try και catch διαδοχικά µέσα στο πρόγραµµα εάν η εξαίρεση ταιριάζει και έχει προβλεφθεί. Tεχνική: Εγκλωβίζουµε το κοµµάτι του κώδικα που θα µπορούσε να πετάξει εξαίρεση σε ένα µπλοκ try catch try //Eντολές που µπορεί να πετάξουν εξαίρεση int a=30/0; catch (ArithmeticException e) //Eντολές που θα γίνουν για την αντιµετώπιση του λάθους System.out.println("Diaireses me 0!. Exception"+e); Μπορεί να υπάρχουν και περισσότερα catch µε ένα try, ο έλεγχος περνάει από το πρώτο catch επόµενο µέχρι να βρεθεί το κατάλληλο catch (Exception e) Eντολές finally Εντολές(κάνε αυτό είτε γίνει είτε δε γίνει κάποια από τις παραπάνω εξαιρέσεις) Tαξινοµείτε τα catch από το πιο εξειδικευµένο στο πιο γενικό Μπορείτε να χρησιµοποιείτε το επεξηγηµατικό µήνυµα που αντιστοιχεί σε µια εξαίρεση χρησιµοποιώντας τις µεθόδους της κλάσης throwable π.χ. System.out.println("Exception "+e.getmessage() ); Εφαρµογή ΕΞΑΙΡΕΣΕΙΣ για την κλάση Ypallilos ================================ ΑΡΧΙΚΑ ξεκινήστε Βάλτε δοµητή (µε Αριθµό παιδιών) Βάλτε tostring στον Ypallilos public Ypallilos(int childno) throws IllegalArgumentException if (childno < 0) throw new IllegalArgumentException(); this.childno=childno; Στο κυρίως πρόγραµµα δηµιουργήστε και τυπώστε έναν υπάλληλο µε 4 παιδιά. Κατόπιν δοκιμάστε να δημιουργήσετε ένα υπάλληλο με -2 παιδιά μέσα σε bloc try catch: try y=new Ypallilos(-2); catch (IllegalArgumentException e) System.out.println("Δεν µπορεί να έχει αρνητικά παιδιά : "+ e); System.exit(1); Συνεχίστε µε: public double ypologismossintelestiepidomatos() throws ArithmeticException.. public double ypologismosapodohon(int mina) throws ArrayIndexOutOfBoundsException κτλ. [2]

public class Ypallilos String name; String birthdate; //ΟΙ ΩΡΕΣ ΕΡΓΑΣΙΑΣ ΚΑΙ ΟΙ ΩΡΕΣ ΥΠΕΡΩΡΙΑΣ ΝΑ ΚΑΤΑΧΩΡΟΥΝΤΑΙ ΣΕ ΠΙΝΑΚΑ 12 ΘΕΣΕΩΝ ΜonthHours[] MH; //NEA KΛΑΣΗ, πίνακας µε ώρες/ workinghours και υπερωρίες/overtime ανά µήνα. Σετάρoνται double daywage; //ωροµίσθιο int childno; //αρ. παιδιών double bonusfactor; //υπολογίζεται στην ypologismosapodohon //============ public Ypallilos(int c) throws IllegalArgumentException if (c < 0) throw new IllegalArgumentException(); childno=c; MH=new MonthHours[12]; // //============ MEΘΟ ΟΙ public double ypologismossintelestiepidomatos() throws ArithmeticException if (childno==0) throw new ArithmeticException(); return ((100-(50/childNo))/100.0); //bonusfactor public double ypologismosapodohon(int minas) throws ArrayIndexOutOfBoundsException bonusfactor= ypologismossintelestiepidomatos(); if ((minas<0) (minas>12)) throw new ArrayIndexOutOfBoundsException(); return ( (ΜH[minas].workingHours + ΜΗ[minas]).overtime * daywage * (1 + bonusfactor) ); public int totalworkingηours() throws IllegalArgumentException return 0; // //============SET public void setworkingηours(int[] W) throws IllegalArgumentException public void setovertime(int[] O) throws IllegalArgumentException public void setdate (String d) throws InvalidBirthDateException //dd mm yyyy int dd=integer.parseint(d.substring(0,2)); //.. public class TestYpallilos public static void main(string[] args) throws Exception Ypallilos y; try y=new Ypallilos(-6); catch (IllegalArgumentException e) System.out.println(" εν µπορεί να έχει αρνητικά παιδιά!:"+e); //System.exit(1); y=new Ypallilos(2) ; //.. //TestYpallilos.java [3]

ηµιουργία νέων (δικών µας) κλάσεων, που κληρονοµούν την EXCEPTION : (µε δοµητή, που περιέχει µήνυµα) class InvalidBirthDateException extends Exception public InvalidBirthDateException() //super(); System.out.println("Invalid Date Exception Constructor"); //InvalidBirthDateException class InvalidHoursException extends Exception public InvalidHoursException() //super(); System.out.println("Invalid Overtime Constructor"); ΠΑΚΕΤΑ (Σε αυτήν την άσκηση ΕΝ θα χρησιµοποιήσετε NetBeans ΑΛΛΑ Notepad, JCreator κτλ.) Τις κλάσεις που κατασκευάζουµε µπορούµε να τις οργανώνουµε σε πακέτα. Σε ένα πακέτο βέβαια οργανώνονται σχετικές µεταξύ τους κλάσεις Για να δηµιουργηθεί ένα πακέτο πρέπει να χρησιµοποιήσουµε την package ως πρώτη εντολή κάθε αρχείου, που περιέχει µια ή πιο πολλές κλάσεις του πακέτου. 1. Xρήση τάξεων µε ίδιο όνοµα Mέσα σε ένα φάκελο ΤEST δηµιουργούµε 2 φακέλους Computer και µέσα αρχείο Network.java Τraffic και µέσα αρχείο Network.java καθώς και το κάτωθι αρχείο TestNetwork.java public class TestNetwork public static void main(string args[]) System.out.println( "PAKETA.." ); Computer.Network n1 = new Computer.Network(); Traffic.Network n2 = new Traffic.Network(); System.out.println(n1+"\n"+n2); // TestNetwork.java [4] TestNetwork.java \Network.java \Network.java C:\Documents and Settings\Media Pc\TEST> Mεταγλώττιση javac TestNetwork.java Εκτέλεση java TestNetwork

Πακέτο Computer/ (mkdir Computer) package Computer; public class Network String description; public Network() description="this network carries bits and bytes"; System.out.println( "This is a Data Network" ); Πακέτο Traffic/ public String (mkdir tostring() Τraffic) return description; // TEST\Computer\Network.java package Traffic; public class Network String description; public Network() description="this network is used by vehicles" System.out.println("This is a Traffic Network" ); return description=; //TEST\Traffic\Network.java 2. ηµιουργία Προσωπικών Πακέτων Πακέτο ΤΕΙ / (mkdir TEI). Mέσα στον φάκελλο ΤΕΙ βάζω όλα τα java αρχεία, που θέλω να αποτελέσουν το πακέτο, που λέγεται ΤΕΙ [5]

public class Test public static void main(string args[]) System.out.println( "PAKETO.." ); Informatics i = new Informatics(); Marketing m = new Marketing(); Nursing n = new Nursing(); System.out.println(i+"\n"+m+"\n"+n); // TEI\Test.java public class Informatics return ( "Informatics:'Tmima Pliroforikis' " ); // TEI\Informatics.java public class Nursing return ( "Nursing:'Tmima Nursing' " ); // TEI\Nursing.java Mεταγλώττιση του προγράµµατος (έξω από τον φάκελλο ΤΕΙ) C:\Documents and Settings\Media Pc\JavaPack > javac TEI\Test.java Ο µεταγλωττιστής παράγει το αρχείο: TEI\Test.class αλλά και τα TEI\ Informatics.class TEI\ Nursing.class TEI\ Marketing.class C:\Documents and Settings\Media Pc\JavaPack > java TEI.Test Ο διερµηνέας της java (Java Virtual Machine - JVM) εκτελεί τον bytecode κώδικα. ( εν απαιτείται να εκτελέσω javac για όλα τα αρχεία ) public class Marketing return ( "Marketing:'Tmima Marketing' " ); // TEI\Marketing.java 3. Εσωτερικά Πακέτα Τροποποιήστε ώστε να υπάρχουν µέσα στο πακέτο ΤΕΙ, τρία υπο-πακέτα STEF, SEYP, SDO και οι τρεις τάξεις Informatics, Nursing και Marketing να βρίσκονται στο αντίστοιχο υπο-πακέτο... Τι χρειάζεται Test.java Marketing.java Nursing.java Informatics.java Στο αρχείο Test.java θα µπεί import ΤΕΙ.STEF.Informatics; Στο αρχείο STEF\Informatics.java θα µπεί package ΤΕΙ.STEF; [6]

Tι σηµαίνει το public class για τις κλάσεις: Jar αρχεία Ένα ή περισσότερα πακέτα µπορούν να οµαδοποιηθούν σε αρχεία.jar π.χ. jar -cvf TEST.jar TEST Η αποσυµπίεση ενός.jar αρχείου γίνεται ως εξής: jar xvf TEST.jar [7]