I've been playing around with HashMaps and realized that instantiating HashMaps in a class that has main() behaves differently when instantiated in a class that doesn't have main.
Demo.java
import java.util.HashMap;
public class Demo {
public static void main(String args[]) {
        System.out.println(new Circle());
        HashMap<String, Object> shapes = new HashMap<String,Object>();
        shapes.put("Circle", new Circle());
    }
}
GeometricObject.java
import java.util.HashMap;
abstract class GeometricObject
{   
    HashMap<String, Object> shapes = new HashMap<String,Object>(); //error
    shapes.put("Circle", new Circle()); //error
}
What is a correct way to initialize a HashMap in a class that doesn't have a main()?
 
     
     
     
     
     
     
     
    