devxlogo

Causes for an InstantiationException

Causes for an InstantiationException

Question:
What can cause an InstantiationException?

Answer:
An InstantiationException is thrown when you try to create an instance of a class with Class.newInstance() and the class cannot beinstantiated. This could be because there is an uninstantiable interface or abstract class. If the constructor is not public, thenan IllegalAccessException will be thrown.

The following example demonstrates this:

 class Foo {  private Foo() { }}public class Instantiate {  public static final void main(String[] args) {    Class c;    Object obj;    try {      c = Class.forName("java.lang.Cloneable");    } catch(ClassNotFoundException e) {      e.printStackTrace();      return;    }    // Should throw InstantiationException    try {      obj = c.newInstance();    } catch(InstantiationException e) {      System.err.println("
An InstantiationException was thrown.
");      e.printStackTrace();    } catch(IllegalAccessException e) {      System.err.println("
An IllegalAccessException was thrown.
");      e.printStackTrace();    } catch(SecurityException e) {      System.err.println("
A SecurityException was thrown.
");      e.printStackTrace();    }    try {      c = Class.forName("Foo");    } catch(ClassNotFoundException e) {      e.printStackTrace();      return;    }    // Should throw IllegalAccessException    try {      obj = c.newInstance();    } catch(InstantiationException e) {      System.err.println("
An InstantiationException was thrown.
");      e.printStackTrace();    } catch(IllegalAccessException e) {      System.err.println("
An IllegalAccessException was thrown.
");      e.printStackTrace();    } catch(SecurityException e) {      System.err.println("
A SecurityException was thrown.
");      e.printStackTrace();    }  }}

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist