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
Does every java program need a main?
Is array a class?
What is the escape character in java?
How can we make a class virtual?
What is the use of :: in java?
What is a singleton class? Give a practical example of its usage.
can rmi and corba based applications interact ?
Give some features of interface?
What do you mean by collectors in java 8?
Implement 2 stacks with just 1 array. The stack routines must not indicate overflow unless every slot in array is used.
What is hashset in java?
What is defined as false sharing in the context of multithreading?
What is java algorithm?
Is sizeof a preprocessor?
describe synchronization in respect to multithreading? : Java thread