该代码的结果因引用变量的类型而异,这是否意味着变量(int a)以静态方式限制
class A{
int a = 10;
}
public class Main extends A {
int a = 30;
public static void main(String[] args){
A m = new Main();
System.out.println("A : " + m.a);
}
}
这不只是像static
或dynamic binding
。Java中没有polymorphism
for fields
,只有methods
。
变量决策始终在处进行compile-time
。
因此,在upcasting
基类期间将采用变量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句