One of the oldest question related to Java is
whether Java a pure object oriented language or not?Short answer is
no, There are many things in Java which are not objects e.g. primitive data types e.g.
boolean,
char,
short,
int,
long,
float,
double, different kinds of arithmetic, logical and bitwise operator e.g.
+,
-.
*,
/,
&&,
|| etc. Few pure OO languages are
Smalltalk and
Eiffel. Though
Java is one of the most successful Object oriented programming language, which also got some functional programming touch in Java 8 is never considered 100% or pure object-oriented programming language. If it were, all its primitives would be objects. It actually moves half-way in this direction with
String (and perhaps
Array), but it doesn't quite go far enough. Actually, one could argue that as
String and
Array aren't inheritable, that makes those parts of Java at best object-based.