Οι κλάσεις στη γλώσσα προγραμματισμού Java είναι το βασικό συστατικό του αντικειμενοστραφούς προγραμματισμού. Μια κλάση είναι ένα σχέδιο ή ένα πρότυπο που δημιουργεί αντικείμενα, τα οποία είναι στιγμιότυπα αυτής της κλάσης. Το σώμα μιας κλάσης περιλαμβάνει ενότητες που ονομάζονται μέθοδοι και πεδία.
Τα πεδία είναι μεταβλητές που περιέχουν τις καταστάσεις του αντικειμένου, ενώ οι μέθοδοι εκφράζουν τη συμπεριφορά του. Τα πεδία και οι μέθοδοι μπορούν να είναι είτε εμφανή (public) είτε κρυφά (private), ανάλογα με την προσβασιμότητα που επιθυμείτε να έχουν στα αντικείμενα της κλάσης.
Μια κλάση στη Java ορίζεται χρησιμοποιώντας τη λέξη-κλειδί “class”. Για παράδειγμα, μπορείτε να ορίσετε μια κλάση “Dog” με πεδία όπως “age”, “breed” και “name”, καθώς και μεθόδους όπως “bark” και “eat”.
Η εμβέλεια των μεθόδων και των πεδίων μιας κλάσης καθορίζεται από τα modifiers της πρόσβασης, που μπορούν να είναι public, private, protected, ή κανένα από αυτά (default). Οι public μέθοδοι και πεδία είναι προσβάσιμα από οποιαδήποτε άλλη κλάση, ενώ τα private μόνο από την ίδια την κλάση. Τα protected είναι προσβάσιμα από την ίδια κλάση, από κλάσεις στο ίδιο πακέτο, και από υποκλάσεις. Τα default είναι προσβάσιμα από την ίδια κλάση και από κλάσεις στο ίδιο πακέτο.
Εκτός από τις βασικές μεθόδους και πεδία, οι κλάσεις Java μπορούν να περιέχουν κατασκευαστές (constructors), τους οποίους καλεί η Java κατά τη δημιουργία νέων αντικειμένων από την κλάση. Οι κατασκευαστές έχουν το ίδιο όνομα με την κλάση και δεν επιστρέφουν τιμή.
Η κληρονομικότητα είναι ένας ακόμη σημαντικός μηχανισμός στη Java, ο οποίος επιτρέπει σε μια κλάση να “κληρονομεί” πεδία και μεθόδους από μια άλλη κλάση, καθιστώντας τον κώδικα πιο επαναχρησιμοποιήσιμο και οργανωμένο.
Οι κλάσεις στη Java παίζουν θεμελιώδη ρόλο στον ορισμό των αντικειμένων και της συμπεριφοράς τους, επιτρέποντας τη δημιουργία πολύπλοκων και ευέλικτων προγραμμάτων.