问题: 1.接口A和B中定义了相同的方法, Test3类实现的时候,具体是实现哪个接口中的方法?
2.接口A和B中定义了相同常量X, 如果没有System.out.println(test3.x);编译能通过?
3.在执行Test3 test3 = new Test3();这句话后,内存中是怎么调用接口分配空间的? 作者: 武庆东 时间: 2012-9-5 16:13
public class Test3 implements C{
public static void main(String[] args){
Test3 test3 = new Test3();
System.out.println(test3.x);//因为实现的两个类中都有x静态变量,编译去不知道应该调用哪一个所以编译出错
System.out.println(test3.say());//而方法可以编译通过并且执行
}
@Override
public int say() {
System.out.println(this.getClass());
return 0;
}
}
interface A{
int x = 5;
int say();
}
interface B{
int x = 4;
int say();
}
interface C extends A,B{