public interface Computable { //接口体包含常量和抽象方法,没有普通方法
int MAX=46; //常量
int f(int x); //抽象方法,默认权限friendly
}
public class China implements Computable{ //China类实现Coputable接口,implements声明该类一个或多个接口
int number;
public int f(int x){ //Publc关键字防止降低权限
int sum=0;
for(int i=1;i<x;i++){
sum = sum+i;
}
return sum;
}
}
class Guangdong extends China{ //接口可以被继承
public int g(int y){
return MAX+5; //直接使用接口中的常量
}
}
public class Japan implements Computable{
int number;
public int f(int x){
return MAX+x; //直接使用接口中的常量
}
}
public class Example {
public static void main(String[] args) {
China zhang;
Japan henlu;
zhang = new China();
henlu = new Japan();
zhang.number = 32+Computable.MAX; //用接口名访问接口的常量
henlu.number = 14+Computable.MAX;
Computable sm; //声明接口变量
sm =new Japan(); //接口对象中存放对象的应用
int sum=sm.f(6); //接口回调
System.out.println("zhang的学号"+zhang.number+",zhang的求和结果"+zhang.f(100));
System.out.println("henlu的学号"+henlu.number+",henlu的求和结果"+henlu.f(100));
}
}
重写接口方法【没有重写接口的所有方法】
public interface Computable { //接口体包含常量和抽象方法,没有普通方法
int MAX=46; //常量
int f(int x); //抽象方法,默认权限friendly
float g(float x,float y);
}
abstract class A implements Computable{ //抽象类
@Override
public float g(float x, float y) { //重写或直接调用接口方法
return x-y;
}
}