Answer:
Reference type,generic type
Explanation:
Reference types are used by a reference that maintains a reference (address) to the object but not the object itself. Because reference kinds reflect the variable's address rather than the data itself, assigning a reference object to another does not copy the information. Instead, it produces a second duplicate of the reference, which relates to the same heap place as the initial value.
Examples of reference types are Classes, Arrays,, Interfaces etc.
A generic type is a generic class or interface that is parameterized over kinds. Essentially, generic types enable you to write a particular, generic class (or method) that operates with distinct kinds, enabling code to be reused.
The class Object describes the conduct of all Java objects. However, it does not describe the conduct of all Java data structures. That's because not all Java data structures are objects. Some of them are primitive values that can be stored in object variables, but they are not objects themselves.
Unlike object types, primitive types are not sub types or super types.