I have a parent class A which has a primitive type property x
public class A {
    String type = "A";
    int x = 5 ;
    void increment()
    {
        x++ ;
        System.out.println(x);
    }
}
I have a child class B which extends from class A, This child class also has propery x of String type
public class B extends A {
     String type = "B" ;
     String x = "Hello";
}
Now, both parent and child class has instance variable x with different type( int and String).
Parent class A has a method to increase value of X and now the method is available in the child class B ( Class B extends Class A, so all the methods in class A are accessible in class B)
Now I have a main method in a Runner class,
public class Runnable {
     public static void main(String[] args) 
     {
          //Creating object
          B instanceOfB = new B() ;
          //Invoke increment method
          instanceOfB.increment();
     }
 }
While running the main method, I got an OUTPUT : 6
I am invoking increment method using reference variable instanceOfB
instanceOfB.increment();
instanceOfB is an instance of Class B.
By invoking this function, we are trying to increase the value stored in variable x, but x has reference to a String Object.
It should either throws compile time reception or run time exception because we are trying to increase a String object, It is not possible but I got output 6.