Java 8 接口中的静态方法的用途是什么?
2022-09-01 18:41:21
为什么 Java 8 支持静态方法?在下面的代码中,main方法中的两行有什么区别?
package sample;
public class A {
public static void doSomething()
{
System.out.println("Make A do something!");
}
}
public interface I {
public static void doSomething()
{
System.out.println("Make I do something!");
}
}
public class B {
public static void main(String[] args) {
A.doSomething(); //difference between this
I.doSomething(); //and this
}
}
正如我们在上面看到的,我甚至没有在B中实现。当我们可以在另一个类中编写相同的静态方法并调用它时,在接口中使用静态方法有什么用处?除了模块化之外,它是否被引入任何其他目的。通过模块化,我的意思是:
public interface Singable {
public void sing();
public static String getDefaultScale()
{
return "A minor";
}
}
只是为了把类似的方法放在一起。