Okay my code worked but I have a question so I may understand the whole class and object thing .. I first wrote it like that: Cat catx = new Cat(); catx.name = "bob"; but that gave me just errors. but if I write it like that: Cat cat1 = new Cat("bob",2,3,4); it works. Can you explain to me why you have to put the value directly while creating it and not define it later?