Forums Register Login

Threads: question from jchq

+Pie Number of slices to send: Send
Hi,

the answer is
3) Compile time error: class Runt is an abstract class. It can't be instantiated.

my doubt is why Runt is abstrct class?

Thanks
+Pie Number of slices to send: Send
Hi.

Because if a class implements interface Runnable it must override the abstract method run().
[ May 15, 2007: Message edited by: Leandro Melo ]
+Pie Number of slices to send: Send
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
+Pie Number of slices to send: Send
 


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.
+Pie Number of slices to send: Send
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 ]
+Pie Number of slices to send: Send
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 ]
+Pie Number of slices to send: Send
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
The only cure for that is hours of television radiation. And this tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 1325 times.
Similar Threads
about thread
Marcus Green: incorrect answer?
is this Ambiguous?
Runnable interface question from Marcus tutorial
Thread doubt?
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 12:58:02.