接口不可以实现方法,只可以定义方法,所以不能使用静态方法(因为静态方法必须实现)。
要实现静态方法的继承,可以使用抽象类,抽象类中实现静态的方法后,其他类继承。
因为java 中不能定义抽象静态方法static
interface中所有的成员方法都是abstract的,当然也就不能定义静态方法static。
静态法多的话制作成专门的类 想Math 一样
这个问题,我来回答吧
接口的规范就是只能定义方法,或者定义常量,不能实现任何方法
接口,定义的是一种规范,告诉你如果继承了这个接口,就得实现我规定的方法
举个栗子吧,usb3.0就是一种规范,插口尺寸就是接口中的常量,传输数据、充电就是对应的方法,但是usb3.0的具体生产由各个厂家自己确定
当然,在java8中可以定义静态方法,这是新特性
举个例子:定义了一个接口A,俩个实现类为B和C,如果我在接口中定义了一个静态方法add(),我在测试Demo中使用A.add();调用接口的方法,那么程序到底怎么判断这个方法是指向谁的?所以说接口中不能定义静态方法,在这一点上就不符合编译要求,jvm在编译类的.class文件时候无法确定到底指向谁。
接口的方法是不能实现的,而静态的方法又是必须实现的。