interface Inter
{
public static final int q = 2;
public abstract void show();
}
class Demo implements Inter
{
int q = 1;
public void show(){}
}
class interfaceDemo
{
public static void main(String[] args)
{
Demo d = new Demo();
System.out.println(d.q);
}
}
在这个程序中最后输出的是子类中的q,我想应该是这样的:
接口中的成员变量只能定义为常量存在于常量池中并没有存在于子类对象中所以创建子类对象调用q时优先调用子类中的q,所以最后输出的结果应该是1. |