//如果类a继承类b,实现接口c,而类b和接口c中定义了同名变量
interface InterfaceDemo
{
int a=10;
}
class FuDemo
{
static int a=20;
}
class Demo123 extends FuDemo implements InterfaceDemo
{
static int a=210;
public static void main(String[] args)
{
//System.out.println("a的值为:"+a);
//提示:对a的引用不明确,FuDemo中的变量a与InterfaceDemo中的变量a都匹配
//System.out.println("a的值为:"+super.a);
//困惑一:为什么不能调用父类中变量a?
//是不是因为super不能调用父类中的静态成员
System.out.println("a的值为:"+a);//困惑二:此处是否省略this.a呢?
System.out.println("a的值为:"+FuDemo.a);
System.out.println("a的值为:"+InterfaceDemo.a);
}
}
准备解决别人发的问题的,结果把自己给饶进去了,但是感觉不错,收获了很多。 |
|