Click here to Skip to main content
15,881,204 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
Hi...

Few tells that java is pure OO language...

But few tell that its not...

So would u like to suggest something...
Posted

No. Java is not because it supports Primitive datatype[^] such as int, byte, long... etc, to be used, which are not objects.

There are seven qualities to be satisfied for a programming language to be pure Object Oriented. They are:
1. Encapsulation/Data Hiding
2. Inheritance
3. Polymorphism
4. Abstraction
5. All predefined types are objects
6. All operations are performed by sending messages to objects
7. All user defined types are objects.
 
Share this answer
 
1) Everything in Java is not considered as a Object, there are primitive data types available.
Ex : for no.s we are using the int which is not a object type. (only Integer is object type ).

2) All features of OOP language is not fully supported by Java.
Ex : Multiple Inheritance, Operator Overloading, etc.

For a pure object oriented language,there should be 6 features available with it.They are:-
1.Encapsulation/Information Hiding
2.Inheritance
3.Polymorphisms/Dynamic Binding
4.All pre-defined types should be Objects
5.All operations performed by sending messages to Objects
6.All user-defined types are Objects
But in java,
features 4 & 5 are lacking.
That'swhy it is not 100%pure OO..
 
Share this answer
 
v2
Scala is an example of a pure object oriented language.
Here even primitive types are objects.
 
Share this answer
 
Comments
Richard MacCutchan 23-Jun-15 3:59am    
Look at the date of this question.
Abhinav S 23-Jun-15 4:24am    
:doh:
It's not pure ool, but operator overloading is not correct bcoz, operator overloading is just a part of overloading and overloading is supported, so here operator overloading is necessary. There could be any type of overloading. Also in Inheritance there no need of specific type of inheritance either it should follow all or any of them.

If it dose not follow one of them we can't say that it does not support inheritance.
But Primitive Data type is the reason which proves that it not purely ool despite there is concept of wrapper classes.
 
Share this answer
 
v2
VB
Yes java is no fully ool because of we are using predefine(primitive) types like int, char etc. but when we use instead of wrapper data type like Integer, Character, etc then it is a fully ool.

Now in java operator overloading is not supported even it is part of overloading but in java plus(+) operator is overloded by default...
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900