Différences entre les constructeurs et les méthodes en Java
Méthodes Java
- Une méthode est utilisée pour explorer le comportement d'un objet.
- Nous pouvons préfixer les modificateurs d'accès avec des méthodes.
- Une méthode doit avoir un type de retour comme un void, n'importe quel type de primitives (int, char, float, etc.), n'importe quel type d'objet (Integer, Float, String, etc).
- Le compilateur Java n'appelle pas la méthode implicitement, nous devons l'appeler explicitement.
- Supposons que si nous avons une classe et dans cette classe, nous n'avons pas de méthode unique, donc dans ce cas, le compilateur Java n'inclut aucune méthode par défaut.
- Il n'est pas obligatoire d'avoir le même nom de méthodes que son nom de classe ou en d'autres termes, le nom de la méthode peut ou non être le même que le nom de la classe.
- Les méthodes sont de deux types :
- Aucune méthode d'argument
- Méthodes paramétrées
i) Méthode sans argument
Une méthode qui n'a ni paramètre ni argument ou en d'autres termes ce type de méthode ne prend aucun argument est connue sous le nom de méthode sans argument.
Exemple :
class NoArgumentMethod { // No argument method definition void display() { System.out.println("We are in no argument method"); } } class Main { public static void main(String[] args) { // creating an object of NoArgumentMethod class NoArgumentMethod nam = new NoArgumentMethod(); // calling display() method nam.display(); } }
Sortie :
E:\Programs>javac Main.java E:\Programs>java Main We are in no argument method
ii) Méthode paramétrée
Une méthode qui a des paramètres ou en d'autres termes ce type de méthode prend n'importe quel argument est appelée méthode paramétrée.
Exemple :
class ParameterizedMethod { String name; // Parameterized method definition void display(String name) { System.out.println("The name is " + name); } } class Main { public static void main(String[] args) { // creating an object of ParameterizedMethod class ParameterizedMethod pm = new ParameterizedMethod(); // calling display() method pm.display("Rahul"); } }
Sortie
E:\Programs>javac Main.java E:\Programs>java Main The name is Rahul
Constructeurs Java
- Un constructeur est une méthode spéciale qui appelle implicitement par JVM (Java Virtual Machine) au moment de la création d'un objet.
- Le but d'un constructeur est d'initialiser une variable d'instance de l'objet.
- Nous pouvons également préfixer les spécificateurs d'accès avec le constructeur.
- Un constructeur ne doit pas avoir de type de retour, c'est-à-dire qu'il ne renvoie rien.
- Un constructeur est une fonction spéciale qui appelle implicitement (c'est-à-dire qu'il est bon pour l'utilisateur que nous n'ayons pas besoin d'appeler explicitement).
- Supposons que nous ayons une classe nommée "Constructor" et dans cette classe, nous n'incluons aucun constructeur. Dans ce cas, le compilateur Java inclura un constructeur par défaut.
- Il est obligatoire d'avoir le même nom que le constructeur comme nom de classe ou en d'autres termes, le nom du constructeur doit être le même que le nom de la classe.
- Nous avons trois types de constructeurs :
- Constructeur par défaut
- Constructeur paramétré
- Copier le constructeur
i) Constructeur par défaut
Ce constructeur par défaut est appelé implicitement par le compilateur si nous n'incluons aucun constructeur dans la classe. Le constructeur par défaut n'a pas de paramètre ou, en d'autres termes, un constructeur sans argument.
Exemple :
class DefaultConstructor { // Constructor defined DefaultConstructor() { System.out.println("We are in default constructor"); } } class Main { public static void main(String[] args) { // Calling Default constructor DefaultConstructor dc = new DefaultConstructor(); } }
Sortie
E:\Programs>javac Main.java E:\Programs>java Main We are in default constructor
ii) Constructeur paramétré
Le constructeur qui a un paramètre est appelé constructeur paramétré. Si nous voulons initialiser la variable d'instance avec nos valeurs et que ce constructeur n'appelle pas implicitement par le compilateur.
Exemple :
class ParameterizedConstructor { String name; // Constructor defined ParameterizedConstructor(String name) { this.name = name; } } class Main { public static void main(String[] args) { // Calling Parameterized constructor ParameterizedConstructor pc = new ParameterizedConstructor("Preeti"); System.out.println("The name is :" + pc.name); } }
Sortie
E:\Programs>javac Main.java E:\Programs>java Main The name is : Preeti
iii) Copier le constructeur
Un constructeur qui a un paramètre et le paramètre est la référence de la même classe.
Exemple :
class CopyConstructor { String name; // Constructor defined CopyConstructor(String name) { this.name = name; } } class Main { public static void main(String[] args) { // Calling constructor CopyConstructor cc1 = new CopyConstructor("Preeti"); // Copied cc1 constructor CopyConstructor cc2 = cc1; System.out.println("The value of cc1 is :" + cc1.name); System.out.println("The value of cc2 is :" + cc2.name); } }
Sortie
E:\Programs>javac Main.java E:\Programs>java Main The value of cc1 is :Preeti The value of cc2 is :Preeti