Cannot instantiate the type Foo

From JavaErrors

Jump to: navigation, search

One way to get the error

 Cannot instantiate the type Foo

is if you are trying to instantiate an abstract class.

WRONG

 public abstract class Foo {
   public Foo() {
     // stuff
   }
 }
 public class Main {
   public static void main {
     Foo aFoo = new Foo();         // Foo is abstract; you can't instantiate it
     // stuff 
   }
 }

RIGHT

 public abstract class Foo {
   public Foo() {
     // stuff
   }
 }
 public class FooSubclass extends Foo {
   public FooSubclass() {
     // stuff
   }
 }
 public class Main {
   public static void main {
     FooSubclass aFoo = new FooSubclass();       // you need some subclass
     // stuff 
   }
 }