overriding a variable in java

前端 未结 4 1345
我寻月下人不归
我寻月下人不归 2020-12-11 14:32
public class Foo {
      public int a = 3;
    public void addFive(){
        a += 5; System.out.print(\"f \");
    }
}

public class          


        
4条回答
  •  忘掉有多难
    2020-12-11 14:52

    Assuming class Foo is declared as below

    class Foo 
    {
    
        public int a = 3;
    
        public void addFive()
        { 
            a += 5; 
            System.out.print("f ");
        }
    }
    
    1. Variables have no concept of overriding. They are just masked.
    2. It is printing 3 because, when you use a superclass reference to access a variable, it accesses the variable declared in superclass only. Remember that superclass doesn't know anything about subclass.

提交回复
热议问题