java 接口的问题!!

[复制链接]
查看11 | 回复2 | 2010-8-25 16:27:39 | 显示全部楼层 |阅读模式
interface A{
public String talk();
}
interface B extends A{
int i = 10;
}
interface C extends A{
int i = 20;
}
interface D extends B,C{
int j = 10;
}
class Person implements D {
public String talk(){
//return "i + j = "+ (i+j);
}
}
public class fuxi21{
public static void main(String args[]){
Person p = new Person();
// System.out.println(p.i);
System.out.println(p.j);
System.out.println(p.talk());
}
}
此代码有两个注释的部分 , 两部分应 如何引用 父类接口中的变量 i ?
首先 2楼.我的接口中写的是int i = 10 ;在接口里这样声明 默认就是 final static int i = 10 ; 这样。。你说用A.iB.i这样访问。。在Class Person 中可以的。。但是在最后的一段 main() 方法里 可以用A.i 访问????肯定是不行的....那应该如何访问变量 i 呢?
3楼。。super.父变量名请问 哪个是父类??? 是interface D?还是 interface B..C???哎!

回复

使用道具 举报

千问 | 2010-8-25 16:27:39 | 显示全部楼层
接口里只能有方法的声明,不能有方法体,成员变量只能是final static类型(final static int i),如果不写,写成int i,系统的确会默认成为final static int i,这种变量访问方法就是A.iB.i这样的呗
回复

使用道具 举报

千问 | 2010-8-25 16:27:39 | 显示全部楼层
super.父变量名
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行