Melo, Thanks for your reply. so, if any class implementing an interface and not providing functionality of the methods will be considered as abstract class. am I right?
Thanks
Meena R. Krishnan
Ranch Hand
Joined: Aug 13, 2006
Posts: 178
posted
0
if any class implementing an interface and not providing functionality of the methods will be considered as abstract class.
Instead, look at it this way, Only an abstract class can skip the implementation of the Interface's methods that it is extending.
In the sample, the compilation error you will get is "The type Runt must implement the inherited abstract method Runnable.run()"
Either the given answer options are insufficient or the answer C) needs to be reworded.
madhu v pe
Ranch Hand
Joined: Apr 21, 2007
Posts: 100
posted
0
Thanks krishnan, for posting another way of understanding the answer.
we will leave the options given in the question, lets concentrate on the appropriate answer.
Originally posted by M Krishnan:
In the sample, the compilation error you will get is "The type Runt must implement the inherited abstract method Runnable.run()"
when I compile it says - "Runt is not abstract and does not override abstract method run() in java.lang.Runnable"
as you mentioned above there is no question of inheritance right? If I misunderstood or still need to go depth of your answer pls clarify me.
Thanks [ May 17, 2007: Message edited by: madhu v pe ]
Anupam Sinha
Ranch Hand
Joined: Apr 13, 2003
Posts: 1088
posted
0
It's not that if a class implements an interface and does not provide it's method/s implementation you can get away with the class if you do not instatiate the class. For exaple if you remove these line
You still would not be able to compile the code because you need to either mark the class as explicitly abstract or provide an implementation for the interface method/s.
A class would not automatically become abstract if you do not provide the implementation for the interface method/s. Hence I would say all possible answers are infact wrong. [ May 17, 2007: Message edited by: Anupam Sinha ]
madhu v pe
Ranch Hand
Joined: Apr 21, 2007
Posts: 100
posted
0
Yes Anupam,
you are right. probably answer 3 is also not exactly correct with the wording. what me and krishnan agreed before. the correct reason will be 1.since Runt is implementing Runnable it should provide the implementation of its methods which is run() 2 otherwise Runt should be declared as abstract.
Am I right?
Thanks
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.