Quina diferència hi ha entre el polimorfisme de temps de compilació i el temps d'execució a Java?


Resposta 1:

Polimorfisme en Java

Polimorfisme significa, existència del comportament d'objectes en moltes formes

Hi ha dos tipus de polimorfisme

i) Compila polimorfisme de temps / enquadernació estàtica / sobrecàrrega de mètodes

ii) Polimorfisme de temps d'execució / Enquadernació dinàmica / Sobreimpressió del mètode

diferència entre el temps de compilació i el temps de polimorfisme de Java:

i) Compila polimorfisme de temps Si dos o més mètodes tenen el mateix nom a la mateixa classe, però difereixen de les maneres següents.

i) Nombre d’arguments

ii) Tipus d’arguments

Exemple: public class MethodOverloading {public void add (int a, int b) {System.out.println (a + b); } public void add (int a, int b, int c) {System.out.println (a + b + c); } public void add (doble a, doble b) {System.out.println (a + b); } public void add (doble a, double b, double c) {System.out.println (a + b + c); } public static void main (String [] args) {MethodOverloading obj = new MethodOverloading (); obj.add (10, 20); obj.add (10, 20, 30); obj.add (1.2345, 2.3456); obj.add (1.2345, 2.3456, 4.45678); }} ----------------------------------------- ii) Polimorfisme en temps d'execució

Si hi ha dos o més mètodes amb el mateix nom i els mateixos arguments disponibles a la super classe i subclasse.

Exemple:

Classe 1pública classe A {

public void addition (int a, int b) {System.out.println (a + b);} public static void main (String [] args) {A myObject = new A (); myObject.addition (10, 20); // 30}} ------------------------------ Classe 2: classe pública B estén A {addició pública de void (int a, int b) {System.out.println (a + b); } public static void main (String [] args) {A obj1 = new A (); obj1.addition (10, 20); // 30 B obj2 = nou B (); obj2.addition (40, 50); // 90}} ------------------------------------ --------------


Resposta 2:

Compilació del temps significa alguna cosa que feu durant la compilació del programa i el temps d'execució significa alguna cosa que feu durant l'execució (temps d'execució) del programa.

Per exemple:

classe A

{public void show () {System.out.println ("A"); }}

la classe B s’estén A

{public void show () {System.out.println ("B"); }}

classe Polimorfisme

{PSVM (argents de cadena [])

A a = nou A ();

B b = nou B ();

un espectacle; // Aquest és el polimorfisme de temps de compilació perquè el mètode que cal executar es decideix durant el temps de compilació veient el tipus de dades d’invocació d’objecte (en aquest cas és una variable de referència de la classe A)

Un runT; // Variable de referència de la classe A

  1. runT = a; runT.show (); // executarà el mètode de la classe ArunT = b; runT.show (); // executarà mètode de la classe B

}

La declaració 2,4 és la mateixa. Així doncs, el compilador no podrà decidir quin mètode cal executar. Així que compila. Ara en temps d'execució, la JVM (Java Virtual Machine) després de veure la declaració 1 emmagatzema la referència de la classe A en runT. De manera que (2) executarà el mètode de la classe A. Ara a la declaració 3 emmagatzema la referència de la classe B en runT. Per tant (4) executarà el mètode de la classe B. El mètode a executar es selecciona durant Run Time.hence declarat com a Run Time Polymorphism.

Hope u Now pot diferenciar b / w Compilació del temps i del polimorfisme del temps d'execució.


Resposta 3:

Compilació del temps significa alguna cosa que feu durant la compilació del programa i el temps d'execució significa alguna cosa que feu durant l'execució (temps d'execució) del programa.

Per exemple:

classe A

{public void show () {System.out.println ("A"); }}

la classe B s’estén A

{public void show () {System.out.println ("B"); }}

classe Polimorfisme

{PSVM (argents de cadena [])

A a = nou A ();

B b = nou B ();

un espectacle; // Aquest és el polimorfisme de temps de compilació perquè el mètode que cal executar es decideix durant el temps de compilació veient el tipus de dades d’invocació d’objecte (en aquest cas és una variable de referència de la classe A)

Un runT; // Variable de referència de la classe A

  1. runT = a; runT.show (); // executarà el mètode de la classe ArunT = b; runT.show (); // executarà mètode de la classe B

}

La declaració 2,4 és la mateixa. Així doncs, el compilador no podrà decidir quin mètode cal executar. Així que compila. Ara en temps d'execució, la JVM (Java Virtual Machine) després de veure la declaració 1 emmagatzema la referència de la classe A en runT. De manera que (2) executarà el mètode de la classe A. Ara a la declaració 3 emmagatzema la referència de la classe B en runT. Per tant (4) executarà el mètode de la classe B. El mètode a executar es selecciona durant Run Time.hence declarat com a Run Time Polymorphism.

Hope u Now pot diferenciar b / w Compilació del temps i del polimorfisme del temps d'execució.


Resposta 4:

Compilació del temps significa alguna cosa que feu durant la compilació del programa i el temps d'execució significa alguna cosa que feu durant l'execució (temps d'execució) del programa.

Per exemple:

classe A

{public void show () {System.out.println ("A"); }}

la classe B s’estén A

{public void show () {System.out.println ("B"); }}

classe Polimorfisme

{PSVM (argents de cadena [])

A a = nou A ();

B b = nou B ();

un espectacle; // Aquest és el polimorfisme de temps de compilació perquè el mètode que cal executar es decideix durant el temps de compilació veient el tipus de dades d’invocació d’objecte (en aquest cas és una variable de referència de la classe A)

Un runT; // Variable de referència de la classe A

  1. runT = a; runT.show (); // executarà el mètode de la classe ArunT = b; runT.show (); // executarà mètode de la classe B

}

La declaració 2,4 és la mateixa. Així doncs, el compilador no podrà decidir quin mètode cal executar. Així que compila. Ara en temps d'execució, la JVM (Java Virtual Machine) després de veure la declaració 1 emmagatzema la referència de la classe A en runT. De manera que (2) executarà el mètode de la classe A. Ara a la declaració 3 emmagatzema la referència de la classe B en runT. Per tant (4) executarà el mètode de la classe B. El mètode a executar es selecciona durant Run Time.hence declarat com a Run Time Polymorphism.

Hope u Now pot diferenciar b / w Compilació del temps i del polimorfisme del temps d'execució.