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
Can we convert integer to string in java?
What is the file type?
What is a linkedhashmap java?
Differentiate between array list and vector in java.
What is numeric data type?
What is the public method modifier?
What are multiple inheritances? Is it supported by java?
What is java virtual machine? Explain
What does this mean java?
What is protected access modifier?
What is the use of using enum to declare a constant?
what do you understand by synchronization? : Java thread
How do you initialize an arraylist in java?
Explain the difference between collection api and stream api in java8?
Why does java not support pointers?