java接口中的变量默认是public static final类型的,http://www.cnblogs.com/chengdabelief/p/6204281.html
摘自百度
1、接口必须要具体类实现才有意义,所以必须是public
2.、接口中的数据对所有实现类只有一份,所以是static
3、要使实现类为了向上转型成功,所以必须是final的,比如接口A,A有变量value.实现类A1,A2,可以向上转型.
interface Singer{
public int i=0;
public void sing();
public void talk();
}
interface SongWriter{
public int i=1;
public void write();
public void talk();
}
interface Zhoujielun extends Singer, SongWriter{
int i=2;
public void sing();
public void write();
public default void talk(){
System.out.println(" zhoujielun talk"+Singer.i+" "+SongWriter.i);
// i = 3; 这里会报错
}
}
public class InterfaceTest implements Zhoujielun{
public static void main(String[] args){
InterfaceTest ift = new InterfaceTest();
ift.talk();
}
public void sing(){
}
public void write(){
}
}