Java and OOPS

Recent Tutorial

Why Object is Super Class in Java?

java.lang.Object class is the super base class of all Java classes. Every other Java classes descends from Object. Should we say the God class? Why is that so? This Java article is to discuss around it. In Mathematics, an axiom is a starting point of reasoning using which other statement can be logically derived. The […]
Published to Java Tutorial on 04/09/2014.

Java Polymorphism

Ability of an organism to take different shapes is polymorphism in bio world. A simplest definition in computer terms would be, handling different data types using the same interface. In this tutorial, we will learn about what is polymorphism in computer science and how polymorphism can be used in Java. I wish this tutorial will […]
Published to Core Java Tutorial on 05/02/2014.

Covariant Return Type in Java

Object oriented programming (OOP) has a principle named substitutability. In this tutorial, let us learn about substitutability and support for covariant return type in Java. Covariant return type uses the substitutability principle. Liskov Substitution Principle Substitutability was introduced by eminent Barbara Liskov and Jeannette Wing. It is also called as Liskov substitution principle. Let T […]
Published to Core Java Tutorial on 29/09/2013.

Java Abstraction

Abstraction is the concept of exposing only the required essential characteristics and behavior with respect to a context. Yesterday I saw Mariyaan, a Tamil movie. My wife is a diehard fan of Dhanush, the hero of the film. In his inner self Dhanush is a complex and intense actor. But what you get to see […]
Published to Core Java Tutorial on 22/07/2013.

Java Encapsulation

Encapsulation is a concept in object oriented programming (OOP). It is nothing new and it is as popular as Harry Potter books among kids. I wrote a tutorial on relationships, like association, aggregation, composition, abstraction, etc and it was well received. I have been planning for long to write about all the OOPs concepts and […]
Published to Core Java Tutorial on 14/07/2013.

Why Multiple Inheritance is Not Supported in Java

In an white paper titled “Java: an Overview” by James Gosling in February 1995 gives an idea on why multiple inheritance is not supported in Java. JAVA omits many rarely used, poorly understood, confusing features of C++ that in our experience bring more grief than benefit. This primarily consists of operator overloading (although it does have method overloading), […]
Published to Core Java Tutorial on 24/09/2012.

Association, Aggregation, Composition, Abstraction, Generalization, Realization, Dependency

These terms signify the relationships between classes. These are the building blocks of object oriented programming and very basic stuff. But still for some, these terms look like Latin and Greek. Just wanted to refresh these terms and explain in simpler terms. Association Association is a relationship between two objects. In other words, association defines […]
Published to oops Tutorial on 26/06/2010.

Overloading vs Overriding in Java

Overloading and overriding are completely different. Only the notion about interface (function) name is same. Overloading is the ability to use same interface name but with different arguments. Purpose of functions might be same but the way they work will differ based on the argument types. Overriding is applicable in the context of inheritance. When […]
Published to Core Java Tutorial on 03/10/2009.