Is java is a fully object object oriented language?
Answer Posted / giridhar gangapatnam
The following reasons put forward by many people to say java
is not a purely object oriented programming language.
1.purely object oriented(oo)means it should contain only
classes and objects.It should not contain primitive data
types like int,float,char etc.since they are neither classes
or nor objects.
2.In pure oo languages we should access every thing by
message passing(through objects). But,Java contains static
variables and methods which can be accessed directly without
using objects.
3.Java does not contain multiple inheritance. It means an
important feature of oo design is lacking.So, how can we say
it is purely oo programming language.
No doubt Java is purely oo programming language. The
preceding points represent lack of in depth understanding of
java.
1.Even if java has primitive data types, these data types
are used inside the class and never outside of it.So, they
are part of a class. See the API specification of the class:
'Class'. Java specification says that all the arrays and
primitive data types (boolean,
byte,char,short,int,long,float,and double) and the keyword
void are also represented as objects of the class 'Class'.
2.Even static variables and static methods are written
inside a class. When accessing them from outside, we should
use classname. It means they are part and parcel of class
definition and should not be considered as individual
elements. For reducing memory utilization, only one copy of
them will be created in memory and shared by all objects.
3.Any purely oo language should follow all the 5 features of
oops. They are 1.Classes and objects. 2.Encapsulation
3.Abstraction. 4.Inheritance. 5.Polymorphism. Remember java
contains all these features and hence it is purely oo
language. Just because java does not contain multiple
inheritance, we should not say it is not purely oo language.
Multiple inheritance is not the main feature of oops, it is
only a sub feature of inheritance.
| Is This Answer Correct ? | 1 Yes | 0 No |
Post New Answer View All Answers
What is methods and methodology?
What is character in data type?
What are namespaces in java?
What is a line separator in java?
String and stringbuffer both represent string objects. Can we compare string and stringbuffer in java?
What does || || mean in math?
What are advantages of using Java?s layout managers than windowing systems?
What are different types of states exist for a thread?
What is the difference between throw and throws in java?
What is mean by exception?
What is a ternary operator in java? What is an interface?
What are the two ways of implementing multi-threading in java?
How do you use compareto in java?
What is percentage in java?
What is nextint java?