This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
java:variables [2016/02/26 11:15] 127.0.0.1 external edit |
java:variables [2017/02/10 14:39] gthanos [Μεταβλητές στην γλώσσα Προγραμματισμού Java] |
||
---|---|---|---|
Line 5: | Line 5: | ||
* **αναφορικοί τύποι (//reference types//)**: Σε αυτή την κατηγορία ανήκουν όλοι οι τύποι δεδομένων οι οποίοι ορίζονται μέσα από μία κλάση και υλοποιούνται με χρήση αντικειμένων. Ο λόγος που καλούνται αναφορικοί τύποι είναι ότι οι μεταβλητή κάθε αντικειμένου στην Java δεν περιέχει το αντικείμενο καθ' αυτό, αλλά ένα δείκτη (αναφορά-reference) στο αντικείμενο. Το αντικείμενο βρίσκεται σε μία διαφορετική περιοχή της μνήμης, όπου δεσμεύεται η απαραίτητη μνήμη από τον κατασκευαστή του αντικειμένου κατά την αρχικοποίηση του και αποδεσμεύεται η μνήμη από τον μηχανισμό [[java:jre#Garbage Collection|Garbage Collection]] κατά την καταστροφή του. | * **αναφορικοί τύποι (//reference types//)**: Σε αυτή την κατηγορία ανήκουν όλοι οι τύποι δεδομένων οι οποίοι ορίζονται μέσα από μία κλάση και υλοποιούνται με χρήση αντικειμένων. Ο λόγος που καλούνται αναφορικοί τύποι είναι ότι οι μεταβλητή κάθε αντικειμένου στην Java δεν περιέχει το αντικείμενο καθ' αυτό, αλλά ένα δείκτη (αναφορά-reference) στο αντικείμενο. Το αντικείμενο βρίσκεται σε μία διαφορετική περιοχή της μνήμης, όπου δεσμεύεται η απαραίτητη μνήμη από τον κατασκευαστή του αντικειμένου κατά την αρχικοποίηση του και αποδεσμεύεται η μνήμη από τον μηχανισμό [[java:jre#Garbage Collection|Garbage Collection]] κατά την καταστροφή του. | ||
- | <WRAP tip 80% round center>Κάθε κλάση στην Java απεικονίζει ένα διαφορετικό τύπο δεδομένων. Μπορούμε να έχουμε τόσους τύπους δεδομένων, όσα και οι διαφορετικές πιθανές κλάσεις στην Java. Επομένως, ο αριθμός των δυνατών τύπων δεδομένων στην Java είναι άπειρος.</WRAP> | + | <WRAP tip 80% round center>Κάθε κλάση στην Java απεικονίζει ένα διαφορετικό τύπο δεδομένων. Μπορούμε να έχουμε τόσους τύπους δεδομένων, όσα και οι διαφορετικές πιθανές κλάσεις στην Java. Επομένως, ο αριθμός των δυνατών τύπων δεδομένων στην Java είναι άπειρος. |
- | + | </WRAP> | |
- | Επιπλέον, η γλώσσα προγραμματισμού Java διαμορφώνει τις παρακάτω κατηγορίες μεταβλητών με βάση το σημείο στο οποίο ορίζονται. Οι παρακάτω διάκριση ισχύει τόσο για βασικές μεταβλητές, όσο και για αναφορικές μεταβλητές: | + | |
- | * **Instance Variables (non-static class fields):** Η συγκεκριμένη κατηγορία μεταβλητών είναι εκείνη που συναντούμε συνήθως στα [[java:class_fields|πεδία των κλάσεων]]. Οι μεταβλητές αυτές έχουν διαφορετικές τιμές για κάθε αντικείμενο της κλάσης και αποθηκεύουν την κατάσταση του αντικειμένου σε κάθε χρονική στιγμή. | + | |
- | * **Static Variables (static class fields):** Οι [[java:static_keyword|στατικές μεταβλητές]] αποτελούν και αυτές [[java:class_fields|πεδία της κλάσης]]. Η διαφορά από τις **Instance Variables** είναι ότι δεν ανήκουν σε επιμέρους αντικείμενα, αλλά στην κλάση. Αυτό πρακτικά σημαίνει ότι η τιμή των μεταβλητών αυτών είναι κοινή για όλα τα αντικείμενα της κλάσης. | + | |
- | * **Τοπικές μεταβλητές (local-variables):** τοπικές μεταβλητές σε μεθόδους (σε αναλογία με τις τοπικές μεταβλητές στην γλώσσα C). | + | |
- | * **Παράμετροι (parameters):** παράμετροι σε μεθόδους ή κατασκευαστές (σε αναλογία με τις παραμέτρους συναρτήσεων στην γλώσσα C) | + | |
- | + | ||
- | Σχετικά με την ονοματολογία των πεδίων της κλάσης μπορείτε να ανατρέξετε [[java:class_fields#Ονοματολογία των πεδίων (μεταβλητών) της κλάσης | εδώ ]]. | + | |
===== Βασικοί Τύποι Δεδομένων ===== | ===== Βασικοί Τύποι Δεδομένων ===== |