在java9中接口有新特性就是可以在接口内写final成员变量,static方法。无疑这是比较糟糕的一种特性。 避免,避免,哪怕用抽象类实现接口 再去继承下抽象类也好啊。
接口的使用本就是,二者的一种契约。以便来减少耦合。而且接口功能越单一往往会更好。
如果有人疑问为什么要用接口、那么估计他最基本的面向对象都没搞明白。
有人也会说面向对象不好,很垃圾。他只喜欢函数式编程。可能他也曾经试图去学习过面向对象,但是他没有搞明白。然后也放弃了。无论函数、面向对象,他们都有各自的好处。但面向对象是当下一种流行的编程范式。
接口内写final成员?static方法? 总之。避免、避免。
一个实例:
class Why implements pp {
@Override
public void show(){
System.out.println(num);
}
}
public class Main {
public static void main(String[]argv){
var obj=new Why();
obj.show();
}
}
public interface pp {
final int num=212;
static void showStatic(){
System.out.println(pp.num);
}
void show();
}