Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

Java Object Creation of Inherited Class

  • Difficulty Level : Easy
  • Last Updated : 23 Mar, 2017

In inheritance, subclass acquires super class properties. An important point to note is, when subclass object is created, a separate object of super class object will not be created. Only a subclass object object is created that has super class variables.

This situation is different from a normal assumption that a constructor call means an object of the class is created, so we can’t blindly say that whenever a class constructor is executed, object of that class is created or not.

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

// A Java program to demonstrate that both super class
// and subclass constructors refer to same object
// super class
class Fruit
    public Fruit()
        System.out.println("Super class constructor");
        System.out.println("Super class object hashcode :" +
// sub class
class Apple extends Fruit
    public Apple()
        System.out.println("Subclass constructor invoked");
        System.out.println("Sub class object hashcode :" +
        System.out.println(this.hashCode() + "   " +
        System.out.println(this.getClass().getName() + "  " +
// driver class
public class Test
    public static void main(String[] args)
        Apple myApple = new Apple();


super class constructor 
super class object hashcode :366712642
sub class constructor 
sub class object hashcode :366712642
366712642   366712642
Apple  Apple

As we can see that both super class(Fruit) object hashcode and subclass(Apple) object hashcode are same, so only one object is created. This object is of class Apple(subclass) as when we try to print name of class which object is created, it is printing Apple which is subclass.

This article is contributed by Gaurav Miglani. If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

My Personal Notes arrow_drop_up
Recommended Articles
Page :