Can an abstract class be final?
Answers were Sorted based on User's Feedback
Answer / ranganathkini
No a class cannot be marked "abstract" as well as "final".
Marking a class "abstract" means it contains partial
implementation of methods and hence depends on its
subclasses to provide concrete implementation.
Marking the class "final" means that no other class can
extend it and hence abstract classes cannot be marked final.
Is This Answer Correct ? | 173 Yes | 15 No |
Answer / sekhar
No We can't do that.Because abstract means We compulsory
subclass it.Once we declare a final we can't sub class
that so that we can't do that.
Is This Answer Correct ? | 64 Yes | 12 No |
Answer / ravikiran(aptech mumbai)
no because the purpose of using both are opposite to each
other,An abtract class must have to get instantiated to
become concrete,where as final class should nn't get subclassed
Is This Answer Correct ? | 31 Yes | 6 No |
Answer / raghav
An abstract class is of no use if it cannot be sub classed
because instances of an abstract class cannot be created.
Moreover a class declaration with abstract and final will
not compile at all and when ever a class is marked final,the
properties cannot be extended
Is This Answer Correct ? | 21 Yes | 5 No |
Answer / sudhakar goud
we can't write why because abstract class says it should be
overridden in subclass but where as final class says it
can't be overridden
Is This Answer Correct ? | 13 Yes | 2 No |
Answer / huang
http://java.sun.com/javase/6/docs/jre/api/javaws/jnlp/index.html
The documentation says that
"This class is abstract and final and cannot be instantiated."
for ServiceManager class.
Anyways, the class is not marked as abstract.
Is This Answer Correct ? | 15 Yes | 6 No |
Answer / sudhakar goud
Ans: we can't write both final and abstract
because the abstract say's taht it has to be overridden
where as final say's that it can't be overridden.
That is the reason we can't write both final and abstract
Is This Answer Correct ? | 12 Yes | 4 No |
Answer / yuvaraj
No.Because abstract means We compulsory
subclass it.Once we declare a final we can't sub class
that so that we can't do that.
Is This Answer Correct ? | 7 Yes | 5 No |
Answer / artavazd amirkhanyan
It's good question because of most of people can't explain why we can't have abstract final classes in Java. Most of them says "An abstract class is of no use if it cannot be extended or instantiated". Imagine class where we have 10 static methods and we want them to be final to never be overridden. Now, because of class have only static methods,we can make it abstract and because of restriction on overriding, we can make it final. So abstract final classes can be very useful in aforementioned cases. But we can't have abstract final classes in Java just stupidly because of Java do not let us. And this is one of many silly restrictions of Java.
Is This Answer Correct ? | 3 Yes | 2 No |
Explain garbage collection in java?
Why is java so important?
What is Hierarchy of exception?
What is split return?
What is meant by javabeans?
How to initialize an Applet ?
Can a serialized object be transferred via network?
What is string data?
What classes of exceptions, thrown by a throw statement?
how to write a program for sending mails between client and server
Explain about varargs in java?
Write code to implement bubble sort in java?