What will be the result after compiling this code?
class SuperClass{
public int doIt(String str, Integer... data)throws Exception{
String signature = "(String, Integer[])";
System.out.println(str + " " + signature);
return 1;
}
}
public class Test extends SuperClass{
public int doIt(String str, Integer... data){
String signature = "(String, Integer[])";
System.out.println("Overridden: " + str + " " +signature);
return 0;
}
public static void main(String... args){
SuperClass sb = new Test();
sb.doIt("hello", 3);
}
}
class SuperClass{
public int doIt(String str, Integer... data)throws Exception{
String signature = "(String, Integer[])";
System.out.println(str + " " + signature);
return 1;
}
}
public class Test extends SuperClass{
public int doIt(String str, Integer... data){
String signature = "(String, Integer[])";
System.out.println("Overridden: " + str + " " +signature);
return 0;
}
public static void main(String... args){
SuperClass sb = new Test();
sb.doIt("hello", 3);
}
}
A. Overridden: hello (String, Integer[])
B. hello (String, Integer[])
C. Compilation fails
D. None of these
Answer: Option C
Solution(By Examveda Team)
Exceptions must be caught or declared to be thrown.
Join The Discussion
Comments ( 3 )
A. An error that occurs during runtime
B. An error that occurs during compilation
C. A warning issued by the compiler
D. A type of loop
What is the purpose of the "try" block in exception handling?
A. It catches exceptions and handles them
B. It specifies the exception type
C. It contains the code that might throw an exception
D. It specifies the exception message
In Java, can a method declare multiple exceptions using the "throws" keyword?
A. Only if the method is marked as "static"
B. Yes, a method can declare multiple exceptions separated by commas
C. Only if the exceptions are marked as "final"
D. Only if the method is marked as "static"
In this code everything is correct. only main method didn't handle exception throws by do it method.
because of that answer is compile time error.
if we modify main() throws Exception then we will get an output that is :Overridden: hello (String, Integer[])
As we are passing base class reference into child class object, so child class object will call base class "doIt" method.
please provide the well detailed solution by which we can understand easily.