Behaviour of static variable in inheritance

Parent and child instances share a same copy of static variable. This I concluded running the following example.

package com.test;

public class Fruit {

static int count=0;

Fruit(){
count++;
}

public static void main(String[] args) {
Chickoo chickoo=new Chickoo();
System.out.println(chickoo.count);
Fruit fruit=new Fruit();
System.out.println(fruit.count);

}
}

class Chickoo extends Fruit{
Chickoo(){
count++;
}
}

The above code prints value of count as “2” and “3”.

Advertisements