User Tools

Site Tools


java:static_keyword

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
java:static_keyword [2022/02/23 18:45] – [Στατικές μεταβλητές της κλάσης] gthanosjava:static_keyword [2022/02/23 18:57] (current) – [Χρήση σταθερών - Constants] gthanos
Line 96: Line 96:
 ===== Στατικές μέθοδοι της κλάσης ===== ===== Στατικές μέθοδοι της κλάσης =====
  
-Σε αναλογία με τις μεταβλητές της κλάσης μπορούμε να έχουμε και μεθόδους αποκλειστικά σε επίπεδο κλάσης. Οι μέθοδοι της κλάσης χρησιμοποιούνται για να προσπελάσουν στατικά πεδία της κλάσης. Επίσης, μέσα σε μία στατική μέθοδο μπορούν να δημιουργηθούν αντικείμενα οποιασδήποτε κλάσης. Σε αναλογία με τις μεταβλητές οι μέθοδοι σε επίπεδο κλάσης ορίζονται και πάλι με χρήση του keyword static, ως εξής.+Σε αναλογία με τις στατικές μεταβλητές της κλάσης μπορούμε να έχουμε και στατικές μεθόδους. Οι στατικές μέθοδοι χρησιμοποιούνται για να προσπελάσουν στατικά πεδία της κλάσης. Επίσης, μέσα σε μία στατική μέθοδο μπορούν να δημιουργηθούν αντικείμενα οποιασδήποτε κλάσης. Σε αναλογία με τις μεταβλητές οι μέθοδοι σε επίπεδο κλάσης ορίζονται και πάλι με χρήση του keyword static, ως εξής.
  
 <code java> <code java>
Line 108: Line 108:
   - Με χρήση ενός αντικειμένου ως εξής ''Rectangle myRectangle = new Rectangle(); myRectangle.getNumberOfRectangles();''   - Με χρήση ενός αντικειμένου ως εξής ''Rectangle myRectangle = new Rectangle(); myRectangle.getNumberOfRectangles();''
  
-Οι στατικές μέθοδοι μπορούν να χρησιμοποιηθούν για να εκτελεστούν εργασίες που δεν συνδέονται με τα πεδία και τις μεθόδους των αντικειμένων της κλάσης. Για παράδειγμα, η παρακάτω στατική μέθοδος υλοποιεί τον αλγόριθμο ταξινόμησης Bubble Sort μέσα σε μία κλάση με το όνομα Sort. Ο πίνακας προς ταξινόμηση και τα όρια ταξινόμησης του πίνακα λαμβάνονται ως ορίσματα στη μέθοδο. Η μέθοδος δε χρειάζεται να έχει πρόσβαση σε πεδία της κλάσης και για αυτό μπορεί να δηλωθεί ως στατική.+Οι στατικές μέθοδοι μπορούν να χρησιμοποιηθούν για να εκτελεστούν εργασίες που δεν συνδέονται με τα πεδία και τις μεθόδους των αντικειμένων της κλάσης. Επιπλέον, οι στατικές μέθοδοι χρησιμοποιούνται και για την υλοποίηση αλγορίθμων οι οποίοι λαμβάνουν τα δεδομένα εισόδου ως παραμέτρους.  
 + 
 +Για παράδειγμα, η παρακάτω στατική μέθοδος υλοποιεί τον αλγόριθμο ταξινόμησης Bubble Sort μέσα σε μία κλάση με το όνομα Sort. Ο πίνακας προς ταξινόμηση και τα όρια ταξινόμησης του πίνακα λαμβάνονται ως ορίσματα. Η μέθοδος δε χρειάζεται να έχει πρόσβαση σε πεδία της κλάσης και για αυτό μπορεί να δηλωθεί ως στατική.
  
 <code java Sort.java> <code java Sort.java>
Line 127: Line 129:
 </code> </code>
  
-Όπως προαναφέραμε, μέσα σε μία στατική μέθοδο μπορούμε να δημιουργήσουμε αντικείμενα μιας οποιασδήποτε κλάσης. Παράδειγμα στατικής μεθόδου είναι η μέθοδος **main()** από την οποία ξεκινάει κάθε πρόγραμμα. Δείτε την παρακάτω μέθοδο η οποία παράγει και επιστρέφει αντικείμενα της κλάσης **Rectangle** με τυχαίες τιμές (ως γεννήτρια τυχαίων αριθμών χρησιμοποείται η κλάση [[https://docs.oracle.com/javase/8/docs/api/java/util/Random.html|java.util.Random]]).+Επιπλέον, μέσα σε μία στατική μέθοδο μπορούμε να δημιουργήσουμε αντικείμενα οποιασδήποτε κλάσης. Παράδειγμα στατικής μεθόδου είναι η μέθοδος **main()** από την οποία ξεκινάει κάθε πρόγραμμα. Δείτε την παρακάτω μέθοδο η οποία παράγει και επιστρέφει αντικείμενα της κλάσης **Rectangle** με τυχαίες τιμές (ως γεννήτρια τυχαίων αριθμών χρησιμοποείται η κλάση [[https://docs.oracle.com/javase/8/docs/api/java/util/Random.html|java.util.Random]]).
  
 <code java> <code java>
Line 146: Line 148:
  
 Συνολικά οι επιτρεπόμενοι συνδυασμοί μεταξύ στατικών και μη στατικών μεθόδων και μεταβλητών είναι οι εξής: Συνολικά οι επιτρεπόμενοι συνδυασμοί μεταξύ στατικών και μη στατικών μεθόδων και μεταβλητών είναι οι εξής:
-  * Μη στατικές μέθοδοι **ΜΠΟΡΟΥΝ** να προσπελάσουν μη στατικά πεδία+ 
-  Μη στατικές μέθοδοι **ΜΠΟΡΟΥΝ** να προσπελάσουν στατικά πεδία. +|                      ^  Στατικά πεδία  ^  Μη στατικά πεδία  ^ 
-  Στατικές μέθοδοι **ΜΠΟΡΟΥΝ** να προσπελάσουν στατικά πεδία. +Στατικές Μέθοδοι     |   ναι   όχι  |   
-  Στατικές μέθοδοι **ΔΕΝ ΜΠΟΡΟΥΝ **  να προσπελάσουν μη στατικά πεδία. +^ Μη Στατικές Μέθοδοι  |   ναι  |  ναι  |  
-    * το παραπάνω είναι λογικό αν αναλογιστείτε ότι μία στατική μέθοδος (που ανήκει συνολικά στην κλάση) δεν μπορεί να γνωρίζει το αντικείμενο στο οποίο ανήκει ένα μη στατικό πεδίο.+
  
 ===== Χρήση σταθερών - Constants ===== ===== Χρήση σταθερών - Constants =====
Line 180: Line 181:
 </code> </code>
  
-Παρατηρήστε ότι η σταθερά θα πρέπει να αποτελεί πεδίο κάποιας κλάσης, σε αναλογία με τις στατικές μεταβλητές της κλάσης που ορίσαμε παραπάνω και δεν μπορεί να οριστεί αυτόνομα.+σταθερά PI πρέπει να αποτελεί στατικό πεδίο κάποιας κλάσης και δεν μπορεί να οριστεί αυτόνομα.
  
 |Προηγούμενο: [[:java:this_operator | Ο τελεστής this ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο: [[ java:member_initialization | Αρχικοποίηση των μελών της κλάσης ]]| |Προηγούμενο: [[:java:this_operator | Ο τελεστής this ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο: [[ java:member_initialization | Αρχικοποίηση των μελών της κλάσης ]]|
java/static_keyword.1645641920.txt.gz · Last modified: 2022/02/23 18:45 by gthanos