interface D{
public static final int e=3;
void add(int i);
}
public class Test implements D{
@Override
void add(int i) {
// TODO Auto-generated method stub
i += ++i;
System.out.println("i="+i);
}
}
接口中所有的方法与变量都默认是 public 的,在接口中可以不写出来。但在实现类中,如果不明写的话,就变成了 friend 的了,也就是 “包访问权限”。而JAVA又规定,在实现接口或者覆写父类方法时,不能降低父类方法的访问权限,但是可以提高。也就是可以按照 friend protected public 来提高访问权限,但不能按照 public protected friend 来降低访问权限。
接口本就是公开方法,定义接口时是默认的,可以不写public,当时实现类一定要写,如果不写,方法就是默认的包可见,不是公开方法
接口中的方法都是public类型的,你实现一个接口的时候重写的那些方法当然必须也是public类型的。具体可以看下方法重写的一些规则。
接口实现方法不是定义公开的 你调用接口怎么找到并运行内部方法