Requisito previo: sobrecarga en Java
1) ¿Cuál es el resultado del siguiente programa?
Java
public class Test { public int getData() //getdata() 1 { return 0; } public long getData() //getdata 2 { return 1; } public static void main(String[] args) { Test obj = new Test(); System.out.println(obj.getData()); } }
a) 1
b) 0
c) Error de tiempo de ejecución
d) Error de compilación
Resp. (d)
Explicación: Para la sobrecarga de métodos, los métodos deben tener firmas diferentes . El tipo de retorno de los métodos no contribuye a la firma del método diferente, por lo que el código anterior da un error de compilación. Tanto getdata 1 como getdata 2 solo difieren en los tipos de devolución y NO en las firmas.
2) ¿Cuál es la salida del siguiente programa?
Java
public class Test { public int getData(String temp) throws IOException { return 0; } public int getData(String temp) throws Exception { return 1; } public static void main(String[] args) { Test obj = new Test(); System.out.println(obj.getData("GFG")); } }
a) 0
b) 1
c) Error de compilación
d) Error de ejecución
Resp. (c)
Explicación: Los métodos que lanzan diferentes excepciones no están sobrecargados ya que su firma sigue siendo la misma.
3) ¿Cuál es la salida del siguiente programa?
Java
public class Test { private String function() { return ("GFG"); } public final static String function(int data) { return ("GeeksforGeeks"); } public static void main(String[] args) { Test obj = new Test(); System.out.println(obj.function()); } }
a) Error de compilación
b) Error de tiempo de ejecución
c) GFG
d) Ninguno de estos
Ans. (c)
Explicación: Los modificadores de acceso asociados con los métodos no determinan los criterios para la sobrecarga. Los métodos sobrecargados también podrían declararse como finales o estáticos sin afectar los criterios de sobrecarga.
4) ¿Cuál es la salida del siguiente programa?
Java
public class Test { private String function(String temp, int data) { return ("GFG"); } private String function(int data, String temp) { return ("GeeksforGeeks"); } public static void main(String[] args) { Test obj = new Test(); System.out.println(obj.function(4, "GFG")); } }
a) GFG
b) GeeksforGeeks
c) Error de compilación
d) Error de tiempo de ejecución
Respuesta. (b)
Explicación: El orden de los argumentos es un parámetro importante para determinar la sobrecarga del método. Como el orden de los atributos es diferente, los métodos están sobrecargados.
5) ¿Cuál es la salida del siguiente programa?
Java
public class Test { private String function(String temp, int data, int sum) { return ("GFG"); } private String function(String temp, int data) { return ("GeeksforGeeks"); } public static void main(String[] args) { Test obj = new Test(); System.out.println(obj.function("GFG", 0, 20)); } }
a) GFG
b) Error de compilación
c) Error de tiempo de ejecución
d) GeeksforGeeks
Ans. (a)
Explicación: El orden de los argumentos es un parámetro importante para determinar la sobrecarga de métodos.
6) ¿Cuál es la salida del siguiente programa?
Java
public class Test { private String function(float i, int f) { return ("gfg"); } private String function(double i, double f) { return ("GFG"); } public static void main(String[] args) { Test obj = new Test(); System.out.println(obj.function(1., 20)); } }
a) GFG
b) Error de compilación
c) Error de tiempo de ejecución
d) GeeksforGeeks
Ans. (a)
Explicación: Este es realmente simple. Diferentes tipos de argumentos contribuyen a la sobrecarga de métodos, ya que la firma de los métodos se cambia con diferentes tipos de atributos. Se llamará al método que coincida con el conjunto de argumentos pasados en la función principal. Aquí, el primer argumento que se pasa es doble y, por lo tanto, se imprime GFG.
Este artículo es una contribución de Mayank Kumar . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA