Il existe cinq façons différentes de créer un objet en Java,
1. En utilisant le new
mot-clé → le constructeur est appelé
Employee emp1 = new Employee();
2. En utilisant la newInstance()
méthode deClass
→ le constructeur est appelé
Employee emp2 = (Employee) Class.forName("org.programming.mitra.exercises.Employee")
.newInstance();
Il peut également être écrit comme
Employee emp2 = Employee.class.newInstance();
3. En utilisant la newInstance()
méthode deConstructor
→ le constructeur est appelé
Constructor<Employee> constructor = Employee.class.getConstructor();
Employee emp3 = constructor.newInstance();
4. Utilisation de la clone()
méthode → aucun appel de constructeur
Employee emp4 = (Employee) emp3.clone();
5. Utilisation de la désérialisation → pas d'appel au constructeur
ObjectInputStream in = new ObjectInputStream(new FileInputStream("data.obj"));
Employee emp5 = (Employee) in.readObject();
Les trois premiers new
mots-clés de méthodes et les deux newInstance()
incluent un appel au constructeur, mais plus tard, deux méthodes de clonage et de désérialisation créent des objets sans appeler le constructeur.
Toutes les méthodes ci-dessus ont différents bytecode qui leur sont associés, Lire Différentes façons de créer des objets en Java avec exemple pour des exemples et une description plus détaillée, par exemple la conversion de bytecode de toutes ces méthodes.
Cependant, on peut affirmer que la création d'un objet tableau ou chaîne est également un moyen de créer l'objet, mais ces choses sont plus spécifiques à certaines classes uniquement et gérées directement par JVM, alors que nous pouvons créer un objet de n'importe quelle classe en utilisant ces 5 méthodes.