Πώς να χρησιμοποιήσετε τη μέθοδο Java main():
Η μέθοδος main() βρίσκεται στην αρχή και στο τέλος κάθε προγράμματος σε Java. Κατά την εκτέλεση λαμβάνονται υπόψη μόνο οι δηλώσεις που βρίσκονται εντός του πεδίου εφαρμογής της. Για αυτό είναι τόσο σημαντικό να δίνετε προσοχή σε κάθε λεπτομέρεια της σύνταξης της μεθόδου. Εάν είναι λανθασμένη, το πρόγραμμα δεν θα εκτελεστεί.
Τι είναι η μέθοδος main() στη Java;
Ανεξάρτητα από το έργο που θέλετε να υλοποιήσετε με τη γλώσσα προγραμματισμού ή από το πόσο συνοπτικό ή εκτενές είναι το κώδικα που χρησιμοποιείτε για αυτό, στη Java, κάθε εφαρμογή ξεκινά με τη μέθοδο main(). Εάν δεν είναι διαθέσιμη, ο κώδικας δεν μπορεί να εκτελεστεί. Πριν αυτό μεταβιβαστεί στο main(), η Java Virtual Machine (JVM) φορτώνεται στη μνήμη και ο κώδικας μεταγλωττίζεται. Μόλις ολοκληρωθούν αυτά τα βήματα, ο κώδικας ελέγχεται με τη μέθοδο Java main(). Στη συνέχεια, ελπίζουμε ότι θα εκτελεστεί σωστά. Κατ’ αρχήν, είναι επίσης δυνατό να χρησιμοποιηθούν πολλές από αυτές τις μεθόδους, με μέγιστο όριο μία κύρια μέθοδο ανά κλάση.
Ποια είναι η σύνταξη της μεθόδου Java main();
Η σύνταξη της μεθόδου main() της Java είναι πάντα η ίδια. Αποτελείται από πολλά σημαντικά μέρη και έχει την εξής μορφή:
public static void main(String[] args)javaΑυτά τα εξαρτήματα εκπληρώνουν τις ακόλουθες λειτουργίες:
public: Αυτό το στοιχείο εξασφαλίζει ότι μια κλάση είναι προσβάσιμη και από έξω.static: Αυτό το μέρος δηλώνει τη μέθοδο ως στατική, πράγμα που σημαίνει ότι μπορεί να υπάρχει χωρίς να έχει δημιουργηθεί εκ των προτέρων ένα αντικείμενο μιας συγκεκριμένης κλάσης.void: Αυτό εξασφαλίζει ότι η μέθοδοςmain()στη Java δεν χρειάζεται να επιστρέψει μια τιμή.main: Αυτό χρησιμοποιεί η Java Virtual Machine για να αναγνωρίσει τη μέθοδο όταν εκτελεί ένα πρόγραμμα.String[] args: Πρόκειται για έναν πίνακα όπου αποθηκεύονται και λαμβάνονται τα επιχειρήματα της γραμμής εντολών.
Γιατί είναι σημαντικά τα επιμέρους στοιχεία του main();
Για να κατανοήσουμε καλύτερα πώς λειτουργεί η μέθοδος Java main() και γιατί όλα τα στοιχεία είναι τόσο σημαντικά, θα τα εξετάσουμε ξεχωριστά στις επόμενες ενότητες. Το πιο σημαντικό είναι ότι θα σας δείξουμε τι συμβαίνει αν λείπει μέρος της υπογραφής. Για να το κάνουμε αυτό, θα επιλέξουμε ένα πολύ απλό παράδειγμα κώδικα, το οποίο θα εκτυπώσουμε με την εντολή Java System.out.println.
public class main {
public static void main(String[] args) {
System.out.println("Here is your sample text.");
}
}javaΌταν εκτελέσετε αυτόν τον κώδικα, θα λάβετε την ακόλουθη έξοδο:
Here is your sample text.javapublic
public λειτουργεί ως προσδιοριστής πρόσβασης και σηματοδοτεί στην εικονική μηχανή Java (Java Virtual Machine) πού εκτελείται το αντίστοιχο πρόγραμμα. Υπάρχουν και άλλοι τροποποιητές πρόσβασης, όπως default, private και protected. Ωστόσο, αν τους χρησιμοποιήσετε με τη μέθοδο main() στη Java, θα λάβετε ένα μήνυμα σφάλματος:
public class main {
private static void main(String[] args) {
System.out.println("Here is your sample text.");
}
}javaΤο αντίστοιχο ζήτημα είναι:
Error: Main method not found in class, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.ApplicationjavaΑυτό το μήνυμα σφάλματος υποδεικνύει ότι δεν υπάρχει δημόσια πρόσβαση στη μέθοδο.
static
Η λέξη-κλειδί static επιβεβαιώνει ότι η μέθοδος που χρησιμοποιείται είναι στατική. Αυτό σημαίνει ότι μπορεί να χρησιμοποιηθεί ανεξάρτητα από τις περιπτώσεις της κλάσης. Εάν αφαιρέσετε αυτό το στοιχείο, ο κώδικας θα έχει την εξής μορφή:
public class main {
public void main(String[] args) {
System.out.println("Here is your sample text.");
}
}javaΕδώ, λαμβάνετε επίσης ένα μήνυμα σφάλματος:
Error: Main method is not static in class test, please define the main method as:
public static void main(String[] args)javavoid
void είναι μια λέξη-κλειδί που καθορίζει ότι η μέθοδος main() στη Java δεν πρέπει να επιστρέφει καμία τιμή. Δεδομένου ότι main() είναι το σημείο έναρξης και λήξης ενός προγράμματος στη Java, η απόδοση είναι περιττή. Έτσι φαίνεται ο κώδικας χωρίς void:
public class main {
public static main(String[] args) {
System.out.println("Here is your sample text.");
}
}javaΑυτό είναι το μήνυμα σφάλματος που λαμβάνετε αν παραλείψετε το void:
Error: Main method must return a value of type void in class Main, please define the main method as:
public static void main(String[] args)javamain
Για κάθε πρόγραμμα σε Java, η JVM αναζητά πρώτα τον αναγνωριστικό main. Αυτός υποδεικνύει πού πρέπει να ξεκινήσει και να τελειώσει η εκτέλεση. Μόλις η μέθοδος main() σε Java ολοκληρώσει την εκτέλεσή της, το πρόγραμμα τερματίζεται. Αυτός είναι ο λόγος για τον οποίο η υπογραφή δεν πρέπει ποτέ να αλλάξει ή να προστεθεί. Ακολουθεί ένα παράδειγμα για το πώς μοιάζει μια αλλαγή στην υπογραφή:
public class main {
public static void replacementMain(String[] args) {
System.out.println("Here is your sample text.");
}
}javaΔεδομένου ότι η JVM δεν μπορεί να βρει τον αναγνωριστικό, θα τερματίσει το πρόγραμμα άμεσα και θα εμφανίσει το ακόλουθο μήνυμα σφάλματος:
Error: Main method not found in class, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.ApplicationjavaString[] args
Ο πίνακας String[] args αντιστοιχεί στην κλάση java.lang.String και περιέχει δεδομένα που αποθηκεύει ως τιμές συμβολοσειράς. Εάν παραλείψετε αυτήν την προδιαγραφή, ο κώδικας θα έχει την εξής μορφή:
public class main {
public static void main() {
System.out.println("Here is your sample text.");
}
}javaΧωρίς το όρισμα, η μέθοδος Java main() δεν μπορεί να εκτελεστεί. Ως αποτέλεσμα, θα λάβετε ξανά το ακόλουθο μήνυμα σφάλματος:
Error: Main method not found in class, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.ApplicationjavaΠοιες είναι οι εναλλακτικές γραφές;
Το παράδειγμα κώδικα που εμφανίζεται εδώ γράφτηκε σύμφωνα με την πιο συνηθισμένη σύνταξη. Ωστόσο, μπορείτε εύκολα να το προσαρμόσετε για να έχετε καλύτερη εικόνα. Για παράδειγμα, μπορείτε να τοποθετήσετε τις αγκύλες αμέσως μετά args. Έτσι θα φαίνεται:
public static void main(String args[]) { }javaΜπορείτε επίσης να αποθηκεύσετε ορίσματα ως μεταβλητά ορίσματα (varargs). Για να το κάνετε αυτό, πρέπει να χρησιμοποιήσετε μια έλλειψη:
public static void main(String...args) { }javae279a09d81cf2d9a80f3ef29e7d04b0b
9355e88a23274d30eaac66bea1050fdd
d08ef900be5f8a1e6a80fab0895b7da2
ffcbdc9a7455426c4bf5f7060e972480
85f3ca9efdc513c000bb6cc86e8a6b00