接口属性为什么能重写

接口中属性的类型不是 public static final 的吗?
例如:
interface I{
double PI = 3.14;
}
等价于
interface I{
public static final double PI = 3.14;
}
但是为什么下面的程序是可以运行的?麻烦大神帮我解答下

interface F1{
int MAX_VALUE = 10;
int MIN_VALUE = 1;
}

class Zi implements F1{
static int MAX_VALUE = 9;
static int MIN_VALUE = 2;
}
public class T{
public static void main(String[] args){
System.out.println(Zi.MAX_VALUE);
System.out.println(Zi.MIN_VALUE);
}
}

这两个不是一个东西,所以你这里定义到不是interface中到

Java中一个类实现一个接口,会将这个接口的方法全部重写,跟接口定义的属性没有什么关系。接口的属性默认是static和final类型,通常用来定义常量。你可以用System.out.println(F1.MAX_VALUE);
System.out.println(F1.MIN_VALUE);输出10,1.