I have a problem that keeps stalling me from advancing further, this error is not logical at all in my opinion , I am learning from a book and the code is from there. This is the code :
package test_area; public class clzzz { class SimpleCircle{ double radius; SimpleCircle() { radius = 1; } SimpleCircle(double newRadius) { radius = newRadius; } double getArea() { return radius*radius*Math.PI; } double getPerimeter() { return 2*radius*Math.PI; } void setRadius(double newRadius) { radius = newRadius; } } public static void main(String[] args) { SimpleCircle circle1 = new SimpleCircle(); } } This is the error 
If I eliminate the static from void main the error vanishes, but doing that I am altering the signature of the main method..... I am really confuse, followed the code from the book word by word.
Why in the name of God do I need the static tag ? I don't need to oblige the respective class to have only one instance since I can control it's instances by the names of the objects thus static is just a barrier ?
class SimpleCircle{.