About Question com.enthuware.ets.scjp.v6.2.791 and enthuware.ocajp.i.v7.2.1167 :
Moderator: admin
-
- Posts: 3
- Joined: Wed Aug 13, 2014 5:35 pm
- Contact:
About Question com.enthuware.ets.scjp.v6.2.791 and enthuware.ocajp.i.v7.2.1167 :
Why is B's m() not an override of A's m()? or am I looking at this question wrong?
-
- Posts: 3
- Joined: Wed Aug 13, 2014 5:35 pm
- Contact:
Re: About Question com.enthuware.ets.scjp.v6.2.791 :
the modifier is less restrictive.
//in file A.java
public class A
{
protected void m() throws SomeException{}
}
//in file B.java
public class B extends A
{
public void m(){ }
}
//in file A.java
public class A
{
protected void m() throws SomeException{}
}
//in file B.java
public class B extends A
{
public void m(){ }
}
-
- Site Admin
- Posts: 10068
- Joined: Fri Sep 10, 2010 9:26 pm
- Contact:
Re: About Question com.enthuware.ets.scjp.v6.2.791 :
It is a valid override. The explanation doesn't say that it is not a valid override either. So I am not sure what is the problem?
-Paul.
-Paul.
If you like our products and services, please help us by posting your review here.
-
- Posts: 24
- Joined: Wed Sep 28, 2022 9:41 am
- Contact:
Re: About Question com.enthuware.ets.scjp.v6.2.791 :
Ok.
As I could see. We have 2 correct answers:
A a = new B();
a.m();
A a = new B();
( ( B) a ).m();
Am I right?
As I could see. We have 2 correct answers:
A a = new B();
a.m();
A a = new B();
( ( B) a ).m();
Am I right?
-
- Site Admin
- Posts: 10068
- Joined: Fri Sep 10, 2010 9:26 pm
- Contact:
Re: About Question com.enthuware.ets.scjp.v6.2.791 and enthuware.ocajp.i.v7.2.1167 :
Did you read the explanation provided for this option? It explains exactly why this option is not correct.A a = new B();
a.m();
A's m() declares 'throws SomeException', which is a checked exception, while the main() method doesn't. So a.m() must be wrapped in a try/catch block.
If you like our products and services, please help us by posting your review here.
Who is online
Users browsing this forum: No registered users and 129 guests