"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Combien de façons existe-t-il de créer des objets en Java au-delà des constructeurs ?

Combien de façons existe-t-il de créer des objets en Java au-delà des constructeurs ?

Publié le 2024-11-20
Parcourir:762

How Many Ways Are There to Create Objects in Java Beyond Constructors?

Création d'objets en Java : au-delà des constructeurs

Lors de la création d'objets en Java, l'utilisation du constructeur est une approche incontournable. Cependant, il existe d'autres voies à considérer.

Méthodes de création alternatives

Java propose quatre méthodes principales pour instancier des objets :

  1. nouveau mot clé : Cette méthode familière est largement utilisée et implique d'appeler explicitement le constructeur d'une classe.

    MyObject object = new MyObject();
  2. Class.forName (): Cette approche est pratique lorsque vous connaissez le nom de la classe et qu'elle a un constructeur public par défaut.

    MyObject object = (MyObject) Class.forName("subin.rnd.MyObject").newInstance();
  3. clone(): Si vous avez un objet existant, vous pouvez le dupliquer à l'aide de la méthode clone().

    MyObject anotherObject = new MyObject();
    MyObject object = (MyObject) anotherObject.clone();
  4. Désérialisation d'objet : Ce processus implique la création d'un objet à partir de sa forme sérialisée.

    ObjectInputStream inStream = new ObjectInputStream(anInputStream );
    MyObject object = (MyObject) inStream.readObject();
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3