Στατική μεταβλητή σε Java
⚡ Έξυπνη Σύνοψη
Στατική μεταβλητή σε Java ανήκει στην κλάση και όχι σε οποιοδήποτε αντικείμενο και αρχικοποιείται μία φορά κατά τη φόρτωση της κλάσης. Ένα ενιαίο κοινόχρηστο αντίγραφο εξυπηρετεί όλες τις παρουσίες, προσβάσιμο απευθείας μέσω του ονόματος της κλάσης χωρίς τη δημιουργία αντικειμένου.

Η στατική μπορεί να είναι:
- Στατικές Μεταβλητές
- Στατικές Μέθοδοι
- Στατικά μπλοκ Code.
Ας δούμε πρώτα τις στατικές μεταβλητές και τις στατικές μεθόδους.
Σε τι είναι η στατική μεταβλητή Java?
Στατική μεταβλητή σε Java είναι μια μεταβλητή που ανήκει στην κλάση και αρχικοποιείται μόνο μία φορά στην αρχή της εκτέλεσης. Είναι μια μεταβλητή που ανήκει στην κλάση και όχι στο αντικείμενο (στιγμιότυπο). Οι στατικές μεταβλητές αρχικοποιούνται μόνο μία φορά, στην αρχή της εκτέλεσης. Αυτές οι μεταβλητές θα αρχικοποιηθούν πρώτες, πριν από την αρχικοποίηση οποιωνδήποτε μεταβλητών στιγμιότυπου.
- Ένα μόνο αντίγραφο για κοινή χρήση από όλες τις παρουσίες της τάξης
- Μια στατική μεταβλητή μπορεί να προσπελαστεί απευθείας από το όνομα της κλάσης και δεν χρειάζεται κανένα αντικείμενο
Σύνταξη:
<class-name>.<variable-name>
Τι περιλαμβάνει η Στατική Μέθοδος Java?
Στατική μέθοδος σε Java είναι μια μέθοδος που ανήκει στην κλάση και όχι στο αντικείμενο. Μια στατική μέθοδος μπορεί να έχει πρόσβαση μόνο στα στατικά δεδομένα. Είναι μια μέθοδος που ανήκει στην κλάση και όχι στο αντικείμενο (στιγμιότυπο). Μια στατική μέθοδος μπορεί να έχει πρόσβαση μόνο στα στατικά δεδομένα. Δεν μπορεί να έχει πρόσβαση σε μη στατικά δεδομένα (μεταβλητές παράδειγμα).
- Μια στατική μέθοδος μπορεί να καλέσει μόνο άλλες στατικές μεθόδους και δεν μπορεί να καλέσει μια μη στατική μέθοδο από αυτήν.
- Μια στατική μέθοδος είναι προσβάσιμη απευθείας από το όνομα της κλάσης και δεν χρειάζεται κανένα αντικείμενο
- Μια στατική μέθοδος δεν μπορεί να αναφέρεται σε λέξεις-κλειδιά "αυτό" ή "super" σε καμία περίπτωση
Σύνταξη:
<class-name>.<method-name>
Σημείωση: Η κύρια μέθοδος είναι στατική, αφού πρέπει να είναι προσβάσιμη για να εκτελεστεί μια εφαρμογή, πριν πραγματοποιηθεί οποιαδήποτε εγκατάσταση.
Ας μάθουμε τις αποχρώσεις των στατικών λέξεων-κλειδιών κάνοντας μερικές ασκήσεις!
Παράδειγμα: Πώς να καλέσετε στατικές μεταβλητές και μεθόδους
Βήμα 1) Αντιγράψτε τον παρακάτω κώδικα σε ένα πρόγραμμα επεξεργασίας
public class Demo{ public static void main(String args[]){ Student s1 = new Student(); s1.showData(); Student s2 = new Student(); s2.showData(); //Student.b++; //s1.showData(); } } class Student { int a; //initialized to zero static int b; //initialized to zero only when class is loaded not for each object created. Student(){ //Constructor incrementing static variable b b++; } public void showData(){ System.out.println("Value of a = "+a); System.out.println("Value of b = "+b); } //public static void increment(){ //a++; //} }
Βήμα 2) Αποθηκεύστε και μεταγλωττίστε τον κώδικα. Εκτελέστε τον κωδικό ως, java Demo.
Βήμα 3) Η αναμενόμενη έξοδος εμφανίζεται παρακάτω
Το παρακάτω διάγραμμα δείχνει πώς δημιουργούνται οι μεταβλητές και τα αντικείμενα αναφοράς και οι στατικές μεταβλητές είναι προσβάσιμες από τις διαφορετικές παρουσίες.
Βήμα 4) Είναι δυνατή η πρόσβαση σε μια στατική μεταβλητή εκτός της κλάσης χρησιμοποιώντας τη σύνταξη ClassName.Variable_Name. Γραμμή χωρίς σχόλια # 7 & 8 . Αποθήκευση, μεταγλώττιση και εκτέλεση. Παρατηρήστε την έξοδο.
Value of a = 0 Value of b = 1 Value of a = 0 Value of b = 2 Value of a = 0 Value of b = 3
Βήμα 5) Απαλοιφή σχολίων γραμμή 25,26 & 27 . Αποθήκευση, μεταγλώττιση και εκτέλεση.
error: non-static variable a cannot be referenced from a static context a++;
Βήμα 6) Σφάλμα = ? Αυτό συμβαίνει επειδή δεν είναι δυνατή η πρόσβαση στη μεταβλητή παρουσίας "a"από μέθοδο java static class"αύξηση".
Τι είναι το Static Block μέσα Java?
The στατικό μπλοκ είναι ένα μπλοκ εντολών μέσα στο α Java κλάση που θα εκτελεστεί όταν μια κλάση φορτωθεί για πρώτη φορά στο FMV. Ένα Το στατικό μπλοκ βοηθά στην προετοιμασία των στατικών μελών δεδομένων, ακριβώς όπως οι κατασκευαστές βοηθούν στην προετοιμασία μελών στιγμιότυπου.
class Test{ static { //Code goes here } }
Το παρακάτω πρόγραμμα είναι το παράδειγμα του στατικού μπλοκ java.
Παράδειγμα: Τρόπος πρόσβασης στο στατικό μπλοκ
public class Demo { static int a; static int b; static { a = 10; b = 20; } public static void main(String args[]) { System.out.println("Value of a = " + a); System.out.println("Value of b = " + b); } }
θα λάβετε τα ακόλουθα αποτελέσματα του προγράμματος.
Value of a = 10 Value of b = 20


