Pourquoi le point-virgule n'est-il pas requis mais autorisé à la fin d'une définition de classe?

Je suis en train de passer de C++ à Java.

Ce que je me demande est, en C++, après une définition de classe, un point-virgule (;) est nécessaire, mais en Java, il n'est pas.

Qui est, en C++:

class Person {
    public:
    string name;
    int number;
}; //Note this semicolon

Mais en Java:

class Person {
    public String name;
    public int number;
} //Semicolon is not required

C'est bien, je le comprends.

Cependant, mon problème est:

Java fonctionne aussi quand j'ai ajouter un point-virgule à la fin de la définition de la classe, comme:

class Person {
    public String name;
    public int number;
}; //Now this semicolon is confusing me!

J'ai compilé et exécuté le programme d'extraits montré pour Java, et ils travaillent tous les deux. Quelqu'un peut-il expliquer pourquoi il en est ainsi? Quel est le point-virgule à la fin de la définition d'une classe en Java?

Je suis désolé si cette question est de faible qualité, mais j'ai vraiment besoin d'éclaircissements pour cela. J'espère que les experts en Java va m'aider.

Bien, j'ai déjà vu Les points-virgules dans une définition de classe et d'autres questions connexes.

Merci à l'avance.

source d'informationauteur Vedant Terkar | 2014-07-07