To Java Virtual Machine ή JVM για συντομία είναι μία εικονική μηχανή που βρίσκεται στην RAM και μετατρέπει τον κώδικα της java στον ανάλογο κώδικα μηχανής. Είναι αυτό που επιτρέπει στην Java να χρησιμοποιεί τον ίδιο κώδικα για πολλά διαφορετικά λειτουργικά συστήματα.
Με πιο απλά λόγια το JVM είναι αυτό που μας επιτρέπει να τρέξουμε τα προγράμματα μας. Τρέχει πίσω στον υπολογιστή μας όσο εκτελούμε ή γράφουμε προγράμματα java και δεν χρειάζεται να ανησυχούμε για αυτό
Με απλά λόγια μία κλάση είναι ένας δικός μας τύπος δεδομένων.
Κάθε κλάση έχει κάποια χαρακτηριστικά και κάποιες μεθόδους. Τα χαρακτηριστικά κρατάνε πληροφορίες για τα αντικείμενα της κλάσης και οι μέθοδοι μας λένε τι μπορεί να κάνει ένα αντικείμενο αυτής της κλάσης. Ας δούμε λίγο καλύτερα τι σημαίνει αυτό.
Όλες οι γλώσσες προγραμματισμού έχουν κάποιους τύπους δεδομένων και φυσικά η Java δεν αποτελεί εξαίρεση.
Ας πάρουμε ως παράδειγμα τον τύπο String. Το String θα μπορούσε να είναι μία κλάση. Αναπαριστά μία ακολουθία χαρακτήρων και έχει μέγεθος (χαρακτηριστικό) και μεθόδους που μπορεί να καλέσει ένα αντικείμενο. π.χ
String myString = "abcdefg"; //make a String object
System.out.println(myString.charAt(0)); // a
Για την ακρίβεια, το String στην Java είναι κλάση!.
Επίσης είναι σημαντικό να θυμόμαστε ότι τα αντικείμενα των κλάσεων πρέπει να είναι χειροπιαστά. To String είναι κλάση ένα String είναι κάτι που μπορεί να υπάρχει στον κώδικα μας. Το Math δεν είναι κλάση (με τα βασικά δεδομένα της Java τουλάχιστον) γιατί τι σημαίνει το να φτιάχνω ένα Math; Είναι κάτι το αφηρημένο. (Υπάρχουν εξαιρέσεις που θα δούμε αργότερα).
Επίσης στην Java είναι προγραμματιστική σύμβαση το πρώτο γράμμα της κλάσης να είναι κεφαλαίο και το πρώτο γράμμα των αντικειμένων να είναι μικρό