Is Java Purely object oriented language? need a full explanation

Recommended Answers

All 13 Replies

Find (or invent) a definition for "Purely object oriented language" (there is no official, (e.g. IEEE) definition for it BTW), then think about whether anything about the language doesn't fit that.

The language reference makes it clear that primitive types (int, boolean, char, float etc) are not Objects, so you may draw conclusions from that if you wish.

@ ganesh641

that's excelent words "need", here comings your answer, just assumption is logic ...

if you wish OOP then yes, if not then LinearCoding is suportedd too

Java is a language that provides all you need to understand and develop software that employs Object Orientated Programming (OOP) concepts and principles. The fact that primitive types are not defined as objects in Java is a strength and makes sense, to me anyway.
The word 'Purely' is not helpful when associated with the characteristics of any software development language. Language specifications always involve some form of compromise.
In my opinion, if you want to learn, explore and implement OOP then I reckon Java is as good as it gets.
One thing puzzles me though; why do you NEED a FULL explanation? You will have to make an effort and do your own research and that will involve hard work on your part. Enjoy!

One thing puzzles me though; why do you NEED a FULL explanation?

Because he was asked (at least something like) that as part of a test or interview, of course. Give me teh codez.

The word 'Purely' is not helpful when associated with the characteristics of any software development language. Language specifications always involve some form of compromise.

The question "is Java PURE OO" is typically asked to distinguish it from languages such as Smalltalk which really is purely OO (no primitives, no operators, just objects and messages, eg in Smalltalk the expression 2+3 means send the message "+" with a parameter of 3 to the object 2).
You are quite right about compromises - Samllltalk gives theoretical purity at the cost of performance, Java compromises between OO and classic code to give sensible performance.

Thanks for yours support, but my opinion when introduce collections in java all primitive data types consider as a Object

I am so confusing this concept so only,i asked "need a full explanation"

You can place primitives into collections due to autoboxing, where the primitive will be automatically converted into it's respective object, and when the Generics are set up properly it can be autounboxed (automatically converted back to it's primitive) without any casting. That has nothing to do with whether the primitives are objects though. And we are talking about the programming, not the execution, so even if primitives are internally represented as objects, during the programming they are not.

What did you mean by "Purely object oriented language"?
If so(Purely object oriented) what is the opposite of it?
Any1 can give example to me??

In my opinion, this discussion is not taking us anywhere useful.
However, to perhaps help answer a the question of "pure" OOP I refer you to Dr Alan Kay's discussion on the Meaning Of OOP.

Refer: http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en

It is not easy to follow, especially if English is not your first language.
However it is an explanation of the term OOP by the guy who invented it.
In part, he states:
"OOP to me means only messaging, local retention and protection and hiding of state-process,
and extreme late-binding of all things."

So if you want purity, then struggle with Smalltalk.
If you want a useful programming language that makes sensible use of types, objects and classes then use Java.

Over and out.

In my opinion, this discussion is not taking us anywhere useful.

it is. It's showing how useless the topic is.

The very Basic answer to the Question "Java is Purely Object Oriented"
is that,"Everything is mention inside the Class and ultimately inside the Object even the main method so, it is known as purely Object oriented Language".

Did you mean are there has two kind of OO type...
One is Purely Object oriented & other is Object oriented(Not purely) like php or java script???

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.