Quelle est la différence entre la méthode statique (classe) et la méthode d'instance?


Réponse 1:

Méthodes d'instance

  • Ce sont les méthodes qui nécessitent la création d'un objet de leur classe avant d'être appelées.Elles appartiennent aux objets de la classe et non à la classe, elles ne peuvent donc être appelées que lorsque l'objet est créé.Chaque fois qu'un nouvel objet est créé, un nouveau une copie de la méthode d'instance est créée pour cet objet individuel. Donc, si 10 objets sont créés pour une classe, 10 copies des méthodes d'instance seront créées. Ce qui utilise plus de mémoire au moment de l'exécution. La méthode d'instance utilise la liaison dynamique afin qu'ils puissent être remplacés au moment de l'exécution.
// Exemple pour illustrer l'accès à la méthode d'instance. classe A {String name = ""; public void abc (String name) {// Méthode d'instance this.name = nom; }} classe B {public static void main (String [] args) {A obj = new A (); // Objet de classe A obj.abc ("Ceci est une méthode d'instance"); // appel de la méthode d'instance à partir de la classe A System.out.println (obj.name); }}

Méthode statique

  • Ce sont les méthodes qui peuvent être appelées sans utiliser l'objet de classe.Elles sont référencées par le nom de classe lui-même ou par référence à l'objet de cette classe.Ils peuvent être appelés même sans créer les objets de classes, ce qui réduit l'utilisation de la mémoire au moment de l'exécution par rapport aux méthodes d'instance. Ils utilisent une liaison statique afin qu'ils ne puissent pas être remplacés, mais ils peuvent être surchargés au moment de la compilation.
// Exemple pour illustrer Accès à la méthode statique de classe. classe A {Public static String yourName = ""; public static void abc (String name) {yourName = name; }} classe B {public static void main (String [] args) {A.abc ("Omkar"); // Accès aux champs de méthode statique abc () et // par nom de classe lui-même. System.out.println (A.yourName); // Accès à la méthode statique abc () en utilisant la référence de l'objet. A obj = nouveau A (); obj.abc ("Aditya"); System.out.println (obj.yourName); }}

Réponse 2:

La méthode statique est un membre de classe auquel on peut accéder sans créer d'instance de classe où as method est un membre de classe auquel peut accéder une instance de classe.

Tout membre statique de classe est accessible sans créer d'instance de classe tandis que le membre d'instance de classe est accessible par instance de classe.

Ce membre peut être utilisé dans des scénarios de code pour lesquels une instance n'est pas nécessaire.

Pour, par exemple, les méthodes de journalisation dans la classe des enregistreurs, la méthode des utilitaires comme le format de courrier électronique est conforme aux normes, etc.