我知道它不被推薦,但爲什麼我可以聲明接口的成員變量不是靜態的?Java - 接口的非靜態成員變量
接口的靜態和非靜態成員之間有什麼區別?我看到,如果我定義一個接口的成員變量爲靜態,我可以在未靜態的方式使用它在實現類:
接口:
public interface Pinuz {
final static int a;
public void method1();
}
實現類:
public class Test implements Pinuz {
public static void main(String[] args) {
Test t = new Test();
int b = t.a;
}
@Override
public void method1() {
// TODO Auto-generated method stub
}
}
我只看到一條警告,要求我以靜態方式使用成員a。
不確定你的意思。接口中的所有變量都是隱式靜態的。 – Thilo
接口只能有靜態成員_variables_。方法簽名通常是非靜態的,因爲它們需要實現(從Java 8開始,有靜態默認實現,但更多的是特殊情況)。 – Thomas