Java somewhat adheres to object-oriented programming because it accepts primitive data types like int, float, and char. Since primitive data types lack methods and properties, they are not considered objects. They are more effective for some jobs since they are quicker and smaller than objects.