http://topic.youkuaiyun.com/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类型,
所以在任何包的类中均可以用”接口.变量“的形式来使用
本文探讨了在Java中如何访问接口内的变量,特别是这些变量默认具备public final static属性,并可通过接口名、扩展类名或扩展实例等多种方式进行访问。
2572

被折叠的 条评论
为什么被折叠?



