Well, I understand that dog1, dog2 and so on are variables of type Dog that is created by Class Dog. I understand that we creating two new objects too. But now I dont quite get it what these objects really are. Since "Dog" appears twice in this context I conclude that it is not object's name but object's type. But what does that mean exactly? And what command like "dog2.name ="Bella";" is and what it supposed to do?