Μπορεί να ακολουθήσει σχόλιο που αναφέρεται στην υλοποίηση της κλάσης.
/* * Εδώ γράφεται το σχόλιο υλοποίησης της κλάσης. */
Ακολουθούν τα πεδία της κλάσης με προσδιοριστή public.
/** Σύνοψη του πεδίου κλάσης classVar1 */publicstaticintclassVar1;
Ακολουθούν τα πεδία της κλάσης με προσδιοριστή protected.
Μια κενή γραμμή ανάμεσα σε δηλώσεις πεδίων και μεθόδων της κλάσης.
/** Σύνοψη του πεδίου κλάσης classVar2 */protectedstaticintclassVar2;
Ακολουθούν τα πεδία της κλάσης χωρίς προσδιοριστή (ορατά στο πακέτο μόνο).
/** Σύνοψη του πεδίου κλάσης classVar3 */staticintclassVar3;
Ακολουθούν τα πεδία της κλάσης με προσδιοριστή private.
/** Σύνοψη του πεδίου κλάσης classVar3 */privatestaticObjectclassVar3;
Ακολουθούν τα πεδία υπόστασης με προσδιοριστή public.
Σχόλιο javadoc με εκτενή επεξήγηση.
/** * Σύνοψη του πεδίου υπόστασης instanceVar1 * Εκτενής επεξήγηση του πεδίου instanceVar1 σε πολλαπλές * γραμμές */publicintinstanceVar1;
Ακολουθούν τα πεδία υπόστασης με προσδιοριστή protected.
Μια κενή γραμμή ανάμεσα σε δηλώσεις πεδίων και μεθόδων της κλάσης.
/** Σύνοψη του πεδίου υπόστασης instanceVar2 */protectedintinstanceVar2;
Ακολουθούν τα πεδία υπόστασης χωρίς προσδιοριστή (ορατά στο πακέτο μόνο).
/** Σύνοψη του πεδίου υπόστασης instanceVar3 */staticintinstanceVar3;
Ακολουθούν τα πεδία υπόστασης με προσδιοριστή private.
/** Σύνοψη του πεδίου υπόστασης instanceVar4 */privateObjectinstanceVar4;
Ακολουθούν οι μέθοδοι κατασκευής.
Δεν υπάρχουν κενά γύρω από την ανοιχτή παρένθεση.
Ένα κενό μετά από κάθε κόμμα στα ορίσματα.
Ένα κενό μετά την παρένθεση.
Το { στην ίδια γραμμή.
Το σώμα της μεθόδου στοιχισμένο μέσα κατά τέσσερα κενά.
Το } στοιχισμένο στο τέλος.
/** Construct a parser for the specified HTML dialect. */SpecialHtmlParser(stringdialect,intmaxNesting){// Κώδικας}
Στην ίδια γραμμή το { και } αν δεν υπάρχει κώδικας στο σώμα της μεθόδου.
/** Construct a default HTML parser. */SpecialHtmlParser(stringdialect,intmaxNesting){}
Ακολουθούν οι υπόλοιπες μέθοδοι.
Οι μέθοδοι διαχωρίζονται μεταξύ τους με μια κενή γραμμή.
Ορίζονται σύμφωνα με τη λειτουργικότητά τους και όχι την ορατότητά τους.
Μέθοδοι που έχουν συγγενική λειτουργικότητα εμφανίζονται μαζί.
/** * Σύνοψη της μεθόδου. * Εκτενής επεξήγηση της μεθόδου σε πολλαπλές * γραμμές. */publicvoiddoSomething(){
Οι μεταβλητές δηλώνονται στην αρχή του μπλοκ που χρησιμοποιούνται.
Μιά δήλωση μεταβλητής σε κάθε γραμμή.
Ένα κενό μετά τον τύπο της μεταβλητής.
Σχόλιο για κάθε δήλωση.
Προσπαθούμε να αρχικοποιούμε τις μεταβλήτές στη δήλωση (εκτός αν η τιμή τους εξαρτάται από μεταγενέστερο υπολογισμό).
Δε χρειάζεται σχόλιο για μεταβλητές βρόχων ή άλλες προσωρινές μεταβλητές.
Αποφεύγουμε να ξαναδηλώσουμε μεταβλητές με ίδιο όνομα σε εσωτερικά μπλοκ.
Τα ονόματα των αντικειμένων είναι ουσιαστικά.
Ένα κενό ανάμεσα στις δηλώσεις των μεταβλητών και τον κώδικα.
intnLines=0;// HTML lines in the fileintnChars=0// Number of characters in the fileinti;doubleaverageDensity=1.;// Average density of comments in the fileCartransport;// Transport to use
Στοίχιση της δομής for με μια εντολή.
Χρήση της δομής for για ατέρμονα βρόχο.
for(;;)a++;
Στοίχιση της δομής for με πολλαπλές εντολές.
Χρήση κενών στη δομή for.
Στη δομή for επιτρέπεται και η δήλωση του τύπου της μεταβλητής.
Το σώμα του κώδικα στο μπλοκ στοιχισμένο μέσα κατά τέσσερα κενά.
for(intj=0;j<10;j++){a++;b++;}
Στοίχιση της δομής while.
while(a<10){a++;b+=12;}
Στοίχιση μιας δομής μέσα σε μια άλλη.
Κάθε φορά το σώμα του κώδικα στοιχισμένο μέσα κατά τέσσερα κενά.
Τα ορίσματα και η επιστρεφόμενη τιμή της μεθόδου ορίζονται με σχόλιο javadoc (@param, @return)
/** * Returns an Image object that can then be painted on the screen. * The url argument must specify an absolute {@link URL}. The name * argument is a specifier that is relative to the url argument. * <p> * This method always returns immediately, whether or not the * image exists. When this applet attempts to draw the image on * the screen, the data will be loaded. The graphics primitives * that draw the image will incrementally paint on the screen. * * @param url an absolute URL giving the base location of the image * name the location of the image, relative to the url argument * @return the image at the specified URL * @see Image */publicImagegetImage(URLurl,Stringname){try{returngetImage(newURL(url,name));}catch(MalformedURLExceptione){returnnull;}}
Στα απλά (όχι javadoc) σχόλια μπορούμε να χρησιμοποιήσουμε ορισμένες ειδικές λέξεις,
για να μας υπενθυμίσουν κάτι στον κώδικα.
/* * A non-javadoc comment with a special keyword * (recommended keywords in parenthesis) * * (XXX, FIXME, TODO): The comment */
Σημείωση: οι στηλοθέτες (tab) πρέπει να αντιστοιχούν σε 8 κενά,
έστω και αν πάντα η στοίχιση γίνεται σε 4 κενά.
Στο διορθωτή vim οι σωστές ρυθμίσεις είναι: