http://topic.csdn.net/t/20011024/13/337598.html
interface Foo{
int k=0;
}
public static void main(String args[]){
int i;
Test test =new Test();
i=test.k;
i=Test.k;
i=Foo.k;
}
}
答案: Compilation succesds.
我觉得 i=Test.k;应该出错,因为 k并不是Test的static变量啊!
-----------------------------------------------------------------------------------------------------------------------------------------------------
在interface中的定义的变量都自动说明为final static类型,可以通过三种方式访问:1、接口.变量;2、扩展类.变量;3、扩展类的实例.变量。不知道我说清楚没:)
-----------------------------------------------------------------------------------------------------------------------------------------------------
小衲补充一点:
在interface中的定义的变量都自动说明为 public final static类型,
所以在任何包的类中均可以用”接口.变量“的形式来使用
interface Foo{
int k=0;
}
public static void main(String args[]){
int i;
Test test =new Test();
i=test.k;
i=Test.k;
i=Foo.k;
}
}
答案: Compilation succesds.
我觉得 i=Test.k;应该出错,因为 k并不是Test的static变量啊!
-----------------------------------------------------------------------------------------------------------------------------------------------------
在interface中的定义的变量都自动说明为final static类型,可以通过三种方式访问:1、接口.变量;2、扩展类.变量;3、扩展类的实例.变量。不知道我说清楚没:)
-----------------------------------------------------------------------------------------------------------------------------------------------------
小衲补充一点:
在interface中的定义的变量都自动说明为 public final static类型,
所以在任何包的类中均可以用”接口.变量“的形式来使用