Αντικείμενα (Objects) στην Java. Αντικείμενα στη Java. Δημιουργία Αντικειμένων. Δηλώσεις Μεταβλητών (2) Ο τελεστής new (1)



Σχετικά έγγραφα
Αντικείμενα στη Java. Παύλος Εφραιμίδης. Java Αντικείμενα στη Java 1

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

HelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1

Βασικά Στοιχεία της Java

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

Βασικά Στοιχεία της Java

Κληρονομικότητα. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Java Κληρονομικότητα 1

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

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

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

Κλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack

Παύλος Εφραιµίδης. Java. Κληρονοµικότητα

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

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

Κλάσεις στη Java. Παύλος Εφραιμίδης. Java Κλάσεις στη Java 1

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

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

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

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

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

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

«ΕΙΔΙΚΑ ΘΕΜΑΣΑ ΣΟΝ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΤΠΟΛΟΓΙΣΩΝ» Κεφάλαιο 4: Αντικειμενοςτρεφήσ Προγραμματιςμόσ

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

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

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

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

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

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

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

Κλάσεις και αντικείμενα #include <iostream.h<


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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

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

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2

Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 5: Κλάσεις και Αντικείμενα. Διδάσκων: Παναγιώτης Ανδρέου

3. Εκφράσεις και έλεγχος ροής

Πίνακες: μια σύντομη εισαγωγή. Πίνακες χαρακτήρων: τα "Αλφαριθμητικά"

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

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

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

Δομημένος Προγραμματισμός

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

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 1/4/2008

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

Προγραμματισμός 2 Σημειώσεις εργαστηρίου

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 11: Vectors (διανύσματα)

ΕΠΛ233 Βασικά στοιχεία προγραµµατισµού στη JAVA

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

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

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Wrapper Classes Τοποθέτηση Δεδομένων Κλήση Μεθόδων. Παναγιώτης Σφέτσος, PhD

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

12. ΑΛΦΑΡΙΘΜΗΤΙΚΑ. υο είδη αλφαριθµητικών Τα αλφαριθµητικά της C πίνακες τύπου char Ta αντικείµενα της κλάσης string

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

2.1. Εντολές Σχόλια Τύποι Δεδομένων

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

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

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

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

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

! Ο καλός προγραμματισμός επιβάλλει την αποδοτική χρήση. ! Είναι σημαντικό να καταλαβαίνουμε τις διαδικασίες

Απλές Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες απλές Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλή

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES

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

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

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

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

Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, :00-10:00 π.μ.

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

2 ΓΡΑΜΜΙΚΕΣ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Προγραμματισμός Υπολογιστών με C++ Φύλλο Διαγωνίσματος Ακαδημαϊκό εξάμηνο: Χειμερινό

Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C

Εισαγωγή στα Αντικείμενα

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 5 : ΠΕΡΙΣΣΟΤΕΡΑ ΓΙΑ ΤΙΣ CLASSES

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

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Transcript:

Αντικείμενα (Objects) στην Java Αντικείμενα στη Java Παύλος Εφραιμίδης Ένα πρόγραμμα Java κατά την εκτέλεσή του δημιουργεί αντικείμενα τα αντικείμενα αλληλεπιδρούν, στέλνοντας μηνύματα το ένα στο άλλο Java Αντικείμενα στη Java 1 Java Αντικείμενα στη Java 2 Δημιουργία Αντικειμένων Point origin = new Point(23, 94); Rectangle rect1=new Rectangle(origin,100,200); Rectangle rect2 = new Rectangle(50,100); Κάθε δήλωση περιλαμβάνει: Δήλωση μεταβλητής (declaration) Δημιουργία Στιγμιοτύπου (instantiation) με τον τελεστή new Αρχικοποίηση με κλήση του Constructor (Initialization), για παράδειγμα Point(23, 94) καλεί τον constructor της κλάσης point με παραμέτρους 23, 94 Java Αντικείμενα στη Java 3 Δηλώσεις Μεταβλητών (1) Οι δηλώσεις μεταβλητών Point origin; Rectangle rec1; Rectangle rec2; δημιουργούν μεταβλητές που αναφέρονται σε αντικείμενα του αντίστοιχου τύπου. Για παράδειγμα, ημεταβλητήorigin μπορεί να αναφέρεται σε αντικείμενα τύπου Point Java Αντικείμενα στη Java 4 Δηλώσεις Μεταβλητών (2) Οι δηλώσεις μεταβλητών ΔΕΝ ΔΗΜΙΟΥΡΓΟΥΝ ΑΝΤΙΚΕΙΜΕΝΑ αλλά αναφορές που μπορούν να δείχνουν σε αντικείμενα. Οι αναφορές μπορεί να είναι κενές (empty) εάν δεν αναφέρονται σε κάποιο συγκεκριμένο αντικείμενο Ο τελεστής new (1) Η δυναμική δημιουργία αντικειμένων γίνεται με τον τελεστή new Point origin = new Point( 23, 94); Ο τελεστής new δεσμεύει την απαιτούμενη μνήμη για τη δημιουργία του αντικειμένου και καλεί τον CONSTRUCTOR Ο τελεστής new επιστρέφει την αναφορά στον νέο αντικείμενο Java Αντικείμενα στη Java 5 Java Αντικείμενα στη Java 6 1

Ο τελεστής new (2) Η αναφορά που επιστρέφει ένας τελεστής new μπορεί είτε να δοθεί ως τιμή σε μια μεταβλητή Point origin = new Point( 23, 94); είτε να χρησιμοποιηθεί κατευθείαν (ανώνυμα) BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); Επιτρέπεται η παρακάτω εντολή; new Point( 10, 20); Αν ναι, έχει νόημα; Αναφορές σε Αντικείμενα Java Αντικείμενα στη Java 7 Java Αντικείμενα στη Java 8 CONSTRUCTOR Όταν δημιουργείται ένα αντικείμενο, δηλαδή ένα νέο στιγμιότυπο μιας κλάσης, καλείται μια μέθοδος που αρχικοποιεί το αντικείμενο: Η μέθοδος αυτή ονομάζεται συνάρτηση δόμησης (constructor) Εάνγιαμιακλάσηδενδηλωθείκάποιοςconstructor ρητά τότε το σύστημα δημιουργεί μόνο του έναν default constructor (ο οποίος ουσιαστικά δεν κάνει τίποτα) Επομένως, κάθε κλάση έχει τουλάχιστον έναν constructor CONSTRUCTOR (2) Κάθεκλάσημπορείναέχειπερισσότερουςconstructors Οι μέθοδοι που είναι constructor έχουντοίδιοόνομαμε την κλάση Παράδειγμα: Για την κλάση Rectangle οι μέθοδοι public Rectangle() {... public Rectangle(Point p) {... public Rectangle(int w, int h) {... public Rectangle(Point p, int w, int h){... είναι 4 constructors για διαφορετικές παραμέτρους. Java Αντικείμενα στη Java 9 Java Αντικείμενα στη Java 10 Χρησιμοποιώντας τα Αντικείμενα Τι μπορούμε να κάνουμε με ένα αντικείμενο; Μπορούσε να προσπελάσουμε ή να τροποποιήσουμε τις τιμές των ιδιοτήτων (μεταβλητών) του Για παράδειγμα οι μεταβλητές x και y ενός αντικειμένου τύπου Point Μπορούμε να καλέσουμε τις μεθόδους του αντικειμένου Μεταβλητές ενός Αντικειμένου (1) Το πλήρες όνομα για να αναφερθούμε σε μια μεταβλητή ενός αντικειμένου είναι: objectreference.variablename Παράδειγμα: rect.width Αναφορά Μεταβλητή System.out.println("Width :" + rect.width); System.out.println("Height:" + rect.height); Java Αντικείμενα στη Java 11 Java Αντικείμενα στη Java 12 2

Μεταβλητές ενός Αντικειμένου (2) Κάθε στιγμιότυπο (αντικείμενο) μιας κλάσης έχει τις δικές του (τοπικές) μεταβλητές Μπορούμε για κάθε μέλος μιας κλάσης να καθορίσουμε τα δικαιώματα πρόσβασης (public, protected, package, private) Μεταβλητές ενός Αντικειμένου (3) Τι κάνει η παρακάτω εντολή; Έχει νόημα; int height = new Rectangle().height; Τι κάνει η παρακάτω εντολή; Έχει νόημα; int height = new Rectangle().height; Java Αντικείμενα στη Java 13 Java Αντικείμενα στη Java 14 Μέθοδοι ενός Αντικειμένου Κλήση μιας μεθόδου: objreference.methodname(arglist); και χωρίς παραμέτρους: objreference.methodname(); Τι κάνει η παρακάτω εντολή: int areaofrectangle = new Rectangle(100, 50).area(); Όταν καλούμε μια μέθοδο ενός αντικειμένου είναι σα να στέλνουμε μήνυμα στο αντικείμενο. Διαγραφή Αντικειμένων int height = new Rectangle().height; Στη γλώσσα C++ μπορούμε να δημιουργούμε δυναμικά αντικείμενα, όταν όμως ένα αντικείμενο δε χρειάζεται άλλο πρέπει να το διαγράφουμε Στη Java απλά δημιουργούμε και χρησιμοποιούμε αντικείμενα Όταν ένα αντικείμενο στη Java δε χρειάζεται άλλο αναλαμβάνει το JRE (Java Runtime Environment) να το διαγράψει και να απελευθερώσει τη μνήμη που καταλαμβάνει Java Αντικείμενα στη Java 15 Java Αντικείμενα στη Java 16 Garbage Collector (1) Ο μηχανισμός που διαγράφει αντικείμενα που δε χρησιμοποιούνται, ονομάζεται Garbage Collector (Αποκομιδή Απορριμμάτων) Πως καταλαβαίνουμε ότι ένα αντικείμενο δε χρειάζεται και μπορεί να διαγραφεί; Όταν δεν υπάρχει καμία αναφορά στο αντικείμενο αυτό Garbage Collector (2) Πότε καταργείται μια αναφορά σε ένα αντικείμενο; Όταν πάψει να υπάρχει η αναφορά Γιαπαράδειγμαμπορείνατερματίσειτοblock ήη μέθοδος στην οποία ορίστηκε η μεταβλητή Όταν τεθεί μια αναφορά σε τιμή null ή σε άλλο αντικείμενο Όταν όλες οι αναφορές σε ένα αντικείμενο καταργηθούν, το αντικείμενο δεν μπορεί πλέον να χρησιμοποιηθεί και μπορεί να διαγραφεί Java Αντικείμενα στη Java 17 Java Αντικείμενα στη Java 18 3

Garbage Collector (3) ΟμηχανισμόςτουGarbage Collector καλείται αυτομάτως από το JRE Εκτός από την αυτόματη κλήση του Garbage Collector, μια εφαρμογή μπορεί να καλέσει ρητά τον μηχανισμό αυτό εάν το θεωρεί απαραίτητο, για παράδειγμα μετά από κώδικα που δημιουργεί πολύ garbage ή πριν από κώδικα που απαιτεί πολύ μνήμη Κλήση του Garbage Collector (GC) από την κλάση System: System.gc(); Java Αντικείμενα στη Java 19 finalize() Πριν διαγραφεί ένα αντικείμενο από τον GC καλείται η μέθοδος finalize() για το αντικείμενο αυτό Μπορεί έτσι να κλείσει τυχόν εκκρεμότητες πριν διαγραφεί Κατά κανόνα δε χρειάζεται να ασχοληθούμε με τη μέθοδο finalize(), παρά μόνο σε πολύ ειδικές περιπτώσεις: Εάν για παράδειγμα πρέπει να αποδεσμευτούν πόροι που δεν είναι στον έλεγχο του GC Java Αντικείμενα στη Java 20 Παράδειγμα Μετά τις παρακάτω εντολές, μπορεί να αντικείμενο τύπου Point που δημιουργείται στην πρώτη εντολή να διαγραφεί από τον GC; Point point = new Point(2,4); Rectangle rectangle = new Rectangle(point, 20, 20); point = null; Παράδειγμα Point point = new Point(2,4); Rectangle rectangle = new Rectangle(point, 20, 20); point = null; Java Αντικείμενα στη Java 21 Java Αντικείμενα στη Java 22 Αλφαριθμητικά Εκτός από τον βασικό τύπο δεδομένων char που αναπαριστά έναν μεμονωμένο χαρακτήρα, η Java παρέχει τις ακόλουθες κλάσεις: Character: Χειρισμός μεμονωμένων χαρακτήρων String: Χειρισμός αλφαριθμητικών μόνο για ανάγνωση (δεν μπορούν να τροποποιηθούν) StringBuffer: Χειρισμός και τροποποίηση αλφαριθμητικών Java Αντικείμενα στη Java 23 String και StringBuffer (1) ΗκλάσηString χρησιμοποιείται για αναπαράσταση αλφαριθμητικών που δεν μπορούν να τροποποιηθούν Είναι αποδοτική Είναι κατάλληλα για κοινή χρήση, δηλαδή εάν απαιτούνται δύο ίδια String μπορούν να υλοποιηθούν με ένα κοινό αντικείμενο τύπου String Java Αντικείμενα στη Java 24 4

String και StringBuffer (2) Οι κλάσεις String και StringBuffer έχουν ένα σύνολο από μεθόδους. Παραδείγματα ορισμένων μεθόδων είναι: char[] helloarray = {'h','e','l','l','o' }; String hellostring = new String(helloArray); System.out.println(helloString); String palindrome = "Dot saw I was Tod"; int len = palindrome.length(); StringBuffer dest = new StringBuffer(len); Περισσότερα για τις δυνατότητες των String και StringBuffer υπάρχει στην τεκμηρίωση των κλάσεων αυτών Java Αντικείμενα στη Java 25 Objects και Strings Μετατροπή αντικειμένων σε String: ΗκλάσηObject έχει τη μέθοδο tostring() για μετατροπή ενός αντικειμένου σε String Επιπλέον η κλάση String έχει τη μέθοδο valueof() για να μετατρέπει αντικείμενα άλλων κλάσεων σε String: System.out.println( String.valueOf(Math.PI)); Μετατροπή String σε Αριθμό: Οι wrapper κλάσεις (wrapper classes) Integer, Double, Float, and Long παρέχουν μέθοδο για μετατροπή από String: String pistr = "3.14159"; Float pi = Float.valueOf(piStr); Java Αντικείμενα στη Java 26 5