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”.