1.static修饰表示 该值是属于类的而不属于对象,在还没创建对象的时候就已经随类的加载而存在了。
如果不用static修饰的普通成员变量,就需要创建对象时,初始化赋值。
具体点说就是一个类中 public 的 static修饰 的 成员变量,可以直接用 类名.成员变量 即可调用。
不用static修饰的 public 的 成员变量,就得先new一个该类的对象实例,再用 对象名.变量名 才能调用。
因为接口是对方法的抽象化,是不去创建实例对象的,所以其中的值要设为static。在需要的时候直接用 接口名.常量名 即可调用。
(简单来说 就是用了static修饰的 成员变量 直接用接口名即可调用,对应了接口不创建对象实例直接调用的特点)
2.final修饰就是常量,不可改变。因为所有子类共享接口,谁都不能随意改变接口内部成员的值,否则会影响其他子类的使用。