Maison >Java >javaDidacticiel >Quelles sont les différentes façons de créer des objets en Java
Il existe cinq façons de créer des objets en Java, à savoir :
1 Utilisez le mot-clé new
C'est la création la plus courante et la plus simple. façon objet. De cette façon, nous pouvons appeler n'importe quel constructeur (sans paramètre et paramétré).
Employee emp1 = new Employee();
2. Utilisez la méthode newInstance de la classe Class
Cette méthode newInstance appelle le constructeur sans paramètre pour créer un objet.
Nous pouvons créer des objets en appelant la méthode newInstance de la manière suivante :
Employee emp2 = Employee.class.newInstance();
(Recommandation du didacticiel vidéo : vidéo java)
3. la classe Constructor La méthode newInstance
est très similaire à la méthode newInstance de la classe Class. Il existe également une méthode newInstance dans la classe java.lang.reflect.Constructor pour créer des objets. Nous pouvons appeler des constructeurs paramétrés et privés via cette méthode newInstance.
Constructor<Employee> constructor = Employee.class.getConstructor(); Employee emp3 = constructor.newInstance();
4. Utilisez la méthode clone
Chaque fois que nous appelons la méthode clone d'un objet, la jvm créera un nouvel objet et y copiera tout le contenu de l'objet précédent. La création d'un objet à l'aide de la méthode clone n'appelle aucun constructeur.
Pour utiliser la méthode clone, nous devons d'abord implémenter l'interface Cloneable et implémenter sa méthode de clonage définie.
Employee emp4 = (Employee) emp3.clone();
5. Utiliser la désérialisation
Lorsque nous sérialisons et désérialisons un objet, jvm créera un objet séparé pour nous. Lors de la désérialisation, la jvm crée l'objet et n'appelle aucun constructeur. Afin de désérialiser un objet, nous devons faire en sorte que notre classe implémente l'interface Serialisable.
ObjectInputStream in = new ObjectInputStream(new FileInputStream("data.obj")); Employee emp5 = (Employee) in.readObject();
Tutoriel recommandé : Introduction au développement Java
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!