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 |
Is object a data type?
When should you make a function static?
Why wait and notify methods are declared in object class?
Difference between object instantiation and construction ?
How a string is stored in memory?
explain about method overloading and method overriding with difficult examples
What is diffrance between FINALIZE() & FINALLY ?
What is deadlock and how to avoid this?
What is passing parameters in java?
what is the use of thread?Justify it by project point of view
How do you set security in applets?
What are the types of methodology?