本帖最后由 马小龙 于 2012-9-5 20:53 编辑
- package com.itheima;
- public class Test3 implements C{
- public static void main(String[] args){
- Test3 test3 = new Test3();
- <font color="Red"> System.out.println(test3.x);//为什么这个编译报错,如果没有这句话,编译能通过</font>
- 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{
- }
复制代码 问题: 1.接口A和B中定义了相同的方法, Test3类实现的时候,具体是实现哪个接口中的方法?
2.接口A和B中定义了相同常量X, 如果没有System.out.println(test3.x);编译能通过?
3.在执行Test3 test3 = new Test3();这句话后,内存中是怎么调用接口分配空间的?
|