class A{
some variables;
public void a()throws Excepion1,Exception2{....}
}
class B extends A{
variables...
public void a()throws E2,E3{.....}
}
Qns:
here override of methods occurs or not,ore else wil give
any compilation error or run properly..plz tell me briefly
whts happening with the above codes....
Answers were Sorted based on User's Feedback
Answer / dipesh
this will throw complie error b'coz u r overirding the
method & u overirdng method cant throw exceptions which is
not being thrown by overirded method hwevr ovrindng method
can throw runtime exceptions
| Is This Answer Correct ? | 10 Yes | 0 No |
Answer / anjan singh
while overriding, you must keep in mind that the exception
being thrown by overriding method(method in subclass)
should not throw a broader exception than what is already
thrown by method in super class. one exception is that, you
can always throw RuntimeException from method in subclass.
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / jeevan
It is a good programming practice to have only a sub set of
checked exceptions classes from the throws clause of the
inherited method of the superclass.
Here in the above example E2,E3 exception are not a subset
of the exception classes of the inherited method
| Is This Answer Correct ? | 2 Yes | 2 No |
Answer / sunita
Overriding methods cannot change the signature of the
overridden method. but runtime exception r not present in
signature so u can only add the runtime exception in
overriden method.
| Is This Answer Correct ? | 1 Yes | 1 No |
What is a void method java?
How to override a equals() method and what is the use?
what is Thread priority?
4 Answers Tech Mahindra, Wipro,
wat is class level lock and object level lock
What is a “stateless” protocol ?
What is the size of arraylist in java?
What are the differences between heap and stack memory?
Can you pass by reference in java?
What is string and example?
Why is java called the platform independent programming language?
Why java is considered as platform independent?
How can we create a object of a class without using new operator.