We know we can't instantiate an abstract class as it is incomplete. But why can’t we instantiate a class with no abstract methods in it which is marked as abstract? Is there any reason for that?
Asked
Active
Viewed 248 times
-4
путин некультурная свинья
- 90,759
- 19
- 173
- 265
-
You can using an anonymous instance: `MyAbstract myAbstract = new MyAbstract(){};` – samlewis Jul 15 '15 at 14:59
-
`Is there any reason for that ?` - ain't being *abstract* enough? You mark a class as *abstract* to mark that its instantiation is *prohibited* - IMO it's a quite reasonable reason. – Jul 15 '15 at 15:07
-
Awesome, never knew that. So, this can be done only in case when we don't have any abstract method in that class, ryt? and thanks for the answer. – user2596752 Jul 15 '15 at 15:07
2 Answers
0
An abstract class is created for the sole purpose of inheritance. Hence, its instantiation is prohibited weather it has all the required method definitions or not.
Mohit Kanwar
- 2,785
- 6
- 36
- 56
0
such kind of class may be used as Interface.
you should also go through the concept of marker interface
Community
- 1
- 1
Piyush Mittal
- 1,790
- 1
- 18
- 39