✏️ Explanatory Question
If the class is written by you (the programmer) → Yes, it is a user-defined datatype.
If the class is part of the Java API (like String, ArrayList, Scanner) → No, these are pre-defined datatypes (though still reference/composite types).
👉 In short:
Every class=a reference type.
If programmer creates it → user-defined.
If Java provides it → pre-defined.