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 |
How are Observer and Observable used?
What is java and its types?
What do you understand by overloading and overriding in java?
Can we override constructor in java?
Which is the best sorting technique in java?
What is operator?
What is abstraction with strong example program? (not a general program)
Is java se open source?
How do you implement polymorphism in our day to day life?
why an outer class cannot be declared as private?
what is the difference between HashMap and Hashtable
17 Answers Value Labs, Virtusa,
Why Java is called as purely platform independent..? Explain briefly..dont Give regular answers Explain with your own example..?