there!

I'm new on Java and I recently stumbled upon constructors concept. I think that I understood the concept, but the book that I'm reading introduced the concept of **objects in arrays** and I got lost.

In the examples, the book simply creates an object using the constructor `new`. But the problem is that the book uses it with an **object reference variable** that refers to an object in a nonexistent class.

Let me write it in code. 

```
Dog [] pets;

pets = new Dog[];

```

I understand that an object called `Dog` that contains arrays `[]` was created.

When, in my current understanding it should be like this:

```
//We have a class named Dog

public class Dog{

//And We have a basic default constructor here
    public Dog(){
    }

}

//We have another class

public Class2{

//In this class we create a "reference variable" 
//to create an object from the above class named Dog.

Dog[] pets;
pets= new Dog[];

}

```

So, I don't know if the book simply obviated the class named `Dog` or if it's possible to create an object `Dog[]` on demand, without having a class/constructor to call. 

I'd appreciate if somebody could clarify this concepts to me.

Thanks for reading!