I want to know whether Java is 100% OOPS Language.
Sounds like homework. Have you tried Google?
What is Hybrid OOPS and Pure OOPS? Give one example for each
Hint: look at the first link.
Originally posted by Stan James:
Wow, that first link is a good page.
His rules for what is OO include my favorite: All operations send messages to objects.
My "rule" would be even more rigorous: control statements (such as "if" and "for") are implemented as messages to objects, too.
Originally posted by Smita Chopra:
Is it fair to say that Java is not 100% OOPS because it doesn't support Multiple inheritance?
I don't think that really plays into the definition of a 'pure OO' language.
I would say Java is a hybrid language while smalltalk would be a 'pure OO' language if such a thing exists.
I would also point out that there is a difference between an OO language and OO code.
what exactly is "OO" will likely be debated forever. i like this summary of things people usually want in an "OO language", for a quick reference; note item 6, which has been brought up in this thread already. personally, i'm fond of items 5 and 3.
the language comparison that's been referred to here seems out of date. i know recent Python versions no longer use reference counting alone in their garbage collector, for example, and the column for Visual Basic is not talking about VB.NET, which is a quite different language from pre-dotnet versions. it's a good starting point, but i suspect no comparison of this sort can ever be kept very well up to date as there is simply too much change to track in too many different environments.
the worst flaw with that comparison seems to be that it apparently takes the Capers Jones language level study seriously. that latter study ranks "languages" such as HTML, Excel, shell scripts, and COBOL on a single linear scale... and ranks HTML higher than (for example) Lisp. i'm sorry, but anyone who thinks that is more than a bad joke frankly brings their own judgement into question.
And a Huzzah to Steven for pointing out that we can talk separately about OO languages and OO coding. Java gives you the tools to do relatively good things, and the rope to hang yourself.