Java is
not a pure Object
oriented language
but so called a Hybrid language.
For any language
to be pure object oriented
it must follow these 6 points strictly...
1) It must have full support
for Encapsualtion and Abstraction
2) It must support
Inheritance
3) It must support
Polymorphism
4) All predefined types must
be Objects
5) All user defined types
must be Objects
6) Lastly all operations
performed on objects must be only through methods exposed at the
objects.
Now java supports 1 2 3 & 5 but
fails to support 4 &
6.
In java we have some predefined
types as non-objects (primitive
types). Although we have wrapper classes for the same but a Pure OOL
can't have anything other than Objects strictly.
And regarding point 6 In java we can
have communicate with objects without calling their methods for e.g.
using arithmatic operators.
String s1 Ashish + A ;
These 2 points stops java from being
a pure OOL.
|