Keep in mind the object you are creating is suppose to represent something.
The variables describe what your object is and the methods allow you to interact with the object.
You created an object called max that has three variables and two methods. This tells us a little bit about max. I'm going to make up the variables and the methods so that it has meaning to the answer.
I'm going to say that max has the following three variables:
private String FirstName;
private String LastName;
private int Age;
And that max has the following two methods:
public String GetName(){
return this.FirstName + " " + this.LastName;
}
public void SetName(String fn,String ln){
this.FirstName = fn;
this.LastName = ln;
}
now when you said:
max cal;
you said that you knew you were going to create an object represented by max and it was going to be referenced by the name cal. You're not creating it yet. You're just getting it ready for when you are going to need it.
If you tried to set cal's name here by calling:
cal.SetName("Calvin","Hobbs");
you would get an error. Cal does not exist yet.
When you say:
max cal = new max();
you are saying that you need an object that is represented by max and will be referenced by the name cal. You are also saying you need it now and you want to create it.
If you tried to set cal's name here by calling:
cal.SetName("Calvin","Hobbs");
you would be just fine.
Now, to reference your question about " every object in a java class has its own copy of variable and methods what does this mean" by putting it into an example:
max cal = new max();
max cool = new max();
cal and cool both have access to the two methods.
Both also have the three variables.
so if you say:
cal.SetName("Calvin","Hobbs");
cool.SetName("Cool","Cat");
when you go to get cal's name it won't change because you set cool's name.
String calsName = cal.GetName();
String coolsName = cal.GetName();
sytem.out.println(calsName); // prints "Calvin Hobbs"
sytem.out.println(coolsName); // prints "Cool Cat"
I hope this has helped. If you need more clarification feel free to email me: irishtek@yahoo.com