我正在阅读一本书中的界面,我遇到了困扰我的这条线。
接口在语法上与类相似,但它们缺少实例变量。
据我所知Interfaces
,我们可以在接口内定义默认为final
的变量。
我的问题是,Line
是什么意思? Instance Variable
和Variable defined in the Interface
??
答案 0 :(得分:3)
我的问题是,那条线是什么意思?
除此之外,这意味着该书的术语已经关闭。通过"实例变量,"他们的意思是"实例字段。"
实例字段是特定于类的单个实例的字段。例如:
class Foo {
// Instance field:
private int bar;
// Static field:
public static final int staticBar;
}
字段bar
是每个实例,而不是整个范围。字段staticBar
是类范围的(静态字段,有时称为"类字段")。
接口没有实例字段。他们有静态字段。当你这样做时:
interface FooInterface {
int staticBar;
}
staticBar
会自动声明为public
,static
和final
(根据JLS §9.3)。因此,staticBar
大致相当于我们之前Foo
类中的{。}}。
答案 1 :(得分:1)
这意味着您不能拥有实例变量,而是根据JLS在接口中使用常量静态最终变量。例如,
interface MyIface {
public static final int MY_CONSTANT = 1;
}
使用接口名称访问它,如:
int variable = MyIface.MY_CONSTANT;