A reference cannot be made from a static to a non-static method. To make it clear, go through the differences below.
Static variables are class variables which belong to the class with only one instance created initially. Whereas, non-static variables are initialized every time you create an object for the class.
You have not created an object hence non-static does not exist and static always do that is why an error is shown
Try the given statements instead:
Object instance = new Constuctor().methodCall();
or
primitive name = new Constuctor().methodCall();
ans2-
First of all you must know the difference between the class and its instance. All static variables do not belong to any particular instance of the class, they are recognized with the name of that particular class. Static methods do not belong to any particular instance, they can access only static variables. Imagine calling MyClass.myMethod() and myMethod is a static method. If you use non-static variables inside the method, how will it know which variable to use? That's why you can only use static variables from static methods and they do NOT belong to any particular instance as mentioned above.
The solution for your code is that you either make your fields static or your methods non-static, try making your main function similar to this
class method
{
public static
void main(String[] args) {
method myprogram = new method();
myprogram.start();
}
public void start() {
}
}