L'opérateur new est utilisé pour créer un objet (ou une instance de classe).
Classe reference_objet = new Constructeur([Arguments...]); String texte = new String("Une chaîne de caractère"); ClassePerso objet = new ClassePerso();
La création d'un objet peut être réalisée à partir d'une classe prédéfinie dans Java ou d'une classe conçue par un utilisateur.
L'objet résidant en mémoire, est accessible dans le programme par l'intermédaire d'une référence d'objet. Souvent, une utilisation impropre de ce vocabulaire est commise, conduisant parfois à des confusions.
Lors de la création d'un objet, deux types distincts sont affectés :
SuperClasse ref_obj = new constructeur_ClasseDerivee(); Object chaine = new String("Un texte..."); // type référence : Object
// type runtime : String
Cependant, les classes représentées par ces types doivent être liées par une relation d'héritage, sinon une exception relatant une incompatibilité de type sera lancée par le compilateur.
class type { public static void main(String[] args){ Boolean valeur = new String("true"); } } // type référence : Object
instance.java:3: incompatible types
found : java.lang.String
required: java.lang.Boolean
Boolean valeur = new String("true");
^