Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

method overriding

Tags:

java


class A
{
  int i=10;
  void show()
  {
    System.out.println("class A");
  }
}

class B extends A
{
  int i=5;
  public void show()
  {
    System.out.println("class B");
  }
}
class M
{
  public static void main(String s[])
  {
    A a=new B();
    a.show();
    System.out.println(a.i);
  }
}


OUTPUT= class B
        10

If class A method is overridden by class B method then why not the variable 'i'?

like image 415
yash Avatar asked Jun 05 '26 20:06

yash


1 Answers

Because variables are not virtual, only methods are.

like image 149
vava Avatar answered Jun 07 '26 10:06

vava