Instantiation Exception
I have discussed about this exception in detail in my new post.To have a look at it click here..
In this Post let us discuss about the java.lang.instantiation exception in detail.Let us know what is meant by this exception?why this exception is thrown? and how to solve it.
What is meant by Instantiation Exception?
There are certain classes exists for which we cannot create objects.Lets see what are those classes.
1.We all know that an abstract class cannot be instantiated.But there are some other ways available, through which we can try to instantiate a abstract class.If we use the newInstance() method for creating the object then we will not get that error at compile time.But you will get this Instantiation exception thrown.
2.An abstract class,an interface,even primitive data types like int,float,double,byte can also be represented as the Class objects.Except ordinary class other classes cannot be instantiated.
3.A class that has no default constructor i.e a constructor with no arguments.This default constructor is needed only when an argumented constructor is already defined, otherwise it is not needed.
Look at the following example to understand how to use newInstance() method
class A
{
}
class B
{
......
Class a=Class.forName("A");//representing an ordinary class
a.newInstance();
}
As you see this is another way of instantiating a class.The Class.forName() method will return the object of class Class.Using that object we can call the newInstance() method to instantiate the class A.
Similarly for an interface like Serializable() we can do as follows
Class b=Serializable.class;
b.newInstance();
Here Serializable is an interface but i have represented it as a class using the newInstance() method.
When will be this exception is thrown?
When we try to instantiate the following classes using the newInstance() method, then this exception will be thrown.
1. Trying to instantiate an abstract class.
2.statements that involves instantiating an interface.
3.An array class
4.A legitimate class that has no nullary constructor.
Example situation of this exception:
instantiating an abstract class:
import java.io.*;
import java.lang.*;
import java.util.*;
abstract class Inst
{
}
class Exp
{
public static void main(String args[])throws InstantiationException,IllegalAccessException,ClassNotFoundException
{
Class cl=Class.forName("Inst");//trying to instantiate an abstract class "Inst"
cl.newInstance();
}
}
output:
Exception in thread "main" java.lang.InstantiationException
at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance
(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at Exp.main(Exp.java:15)
Representing Primitive data types as class:
import java.io.*;
import java.lang.*;
import java.util.*;
class Inst
{
}
class Exp
{
public static void main(String args[])throws InstantiationException,IllegalAccessException,ClassNotFoundException
{
Class cl=int.class;//representing the integer data types as a class
cl.newInstance();
}
}
output:
Exception in thread "main" java.lang.InstantiationException: int
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at Exp.main(Exp.java:13)
Representing an interface as a class:
import java.io.*;
import java.lang.*;
import java.util.*;
class Inst
{
}
class Exp
{
public static void main(String args[])throws InstantiationException,IllegalAccessException,ClassNotFoundException
{
Class cl=Serializable.class;//Representing the serializable interface as a class
cl.newInstance();
}
}
Exception in thread "main" java.lang.InstantiationException: java.io.Serializabl
e
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at Exp.main(Exp.java:13)
Having no nullary constructor:
import java.io.*;
import java.lang.*;
import java.util.*;
class Inst
{
int first,second;
Inst(int a,int b) //Here there is no default constructor i.e. a constructor with no arguments
{
first=a;
second=b;
}
}
class Exp
{
public static void main(String args[])throws InstantiationException,IllegalAccessException,ClassNotFoundException
{
Class cl=Inst.class;
cl.newInstance();
}
}
output:
Exception in thread "main" java.lang.InstantiationException: Inst
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at Exp.main(Exp.java:19)
Solution:
In java, as far i know there is no way available to instantiate an abstract class or an interface or the primitive data types.So,its better to avoid these statements from the program.If this exception arises due to the absence of a default constructor,it can be overcome by defining a no argument constructor(default constructor)


204 comments:
«Oldest ‹Older 201 – 204 of 204 Newer› Newest»-
Chaitanya
said...
-
-
September 9, 2025 at 4:48 PM
-
sravanthi
said...
-
-
December 12, 2025 at 3:41 PM
-
sravanthi
said...
-
-
December 12, 2025 at 3:55 PM
-
AchieversIT
said...
-
-
January 9, 2026 at 3:05 PM
«Oldest ‹Older 201 – 204 of 204 Newer› Newest»Very nice article this would definitely help the beginners, coding made easy with the help of example you shared
Oracle OSB Online Live Classes
MSIX Packaging & Deployment Self paced Training Videos
Abinitio Online Training from Hyderabad
SAP PP Online Training from India
Oracle Applications Technical Training
Data Science Realtime Online Support In India
SAP ABAP and HANA Free Live Online Demo Class
SAP BODS Interview Questions & Answers
Informatica IDQ Online Training Institute from India, Hyderabad
Best App-V Online Training
Awesome article.Thank you for sharing.Looking forward to read more.
Best Microservices Training Institute In India
Best Oracle SQL&PLSQL Training from Hyderabad
Sharepoint Training from Hyderabad
Best Servicenow Training from Hyderabad
Appreciate you sharing, great article post. Really looking forward to read more. Cool.
SharePoint Spfx Online Course from India
Best Oracle Time and Labor Online Training
Best SAP CPI Online Training
Best SAP BTP Training from South Africa
Azure Data Engineer Online Training from India
very interesting information, thanks for sharing with us this topic.
data analyst training in hyderabad
best data analyst course in hyderabad
data analytics training institute in Hyderabad
Post a Comment