It is because of the primitive data types which do not have corresponding classes for them.
Though we have wrapper classes for every primitive type but every object of the wrapper class undergoes unboxing internally before any operations are performed on it and autoboxing is done before they return any value.
So internally they do not behave as objects and are dealt as primitives.
Java is not PURELY an object oriented language but it is FULLY an object oriented language.
A language is pure Object Oriented if it contains only objects and classes and java isn't able to have 100% of this because of it's primitive data types
However, java is fully an object oriented programming because it has all the 4 basic properties of an object oriented language which are polymorphism, encapsulation, inheritance and abstraction.....the term fully does not have anything to do with primitive data or not once it fulfilled all the above mentioned properties .
A lot of reference in any OOP textbooks
Java is not fully object oriented because it supports primitive data type like it,byte,long etc.,which are not objects. All operations performed on objects must be only through methods exposed at the objects. To learn the concepts of java programming one can go for online java courses: https://www.cetpainfotech.com/en-ae/java-training-in-dubai