菜鳥請教一個java的基礎麵試題。
------------------------------------------------------ public class D { public int a=10; public int test() { return a; } } ------------------------------------------------------ public class E extends D { public int a=20; public int test() { return a; } } ------------------------------------------------------ Now suppose D d=new E(); So d.a = ? and d.test()=? I understand d.test() is 20, due to inheritance finds the lowest level method and call. But why d.a is 10?