Let's consider the three general questions.
Simply stated, and taking a very liberal view:
An object is an instance of a data type.
The following JAVA code fragment declares two objects.
The first object is an instance of a simple integer variable named tired. Some computer scientists would not agree that this is an object. They think an object should not be intrinsic to the language itself. This may be correct in general, but we are talking very liberally.
The second object is an instance of an abstract data type where the object is named man and the abstract data type is named Person.
...
int tired; // an instance of an int type
Person man; // an instance of abstract data type
// identified as Person
... }
As you know, or can surmise, the integer data type comes from types which are intrinsic in the language and named primitive types.
It is supposed that the abstract data type named Person you have invented and declared somewhere. From the language point of view, this is a new data type.