小编hos*_*yni的帖子

为什么我不能使用已实现接口的静态方法?

正如您所知,在Java 8中,接口可以拥有静态方法,这些方法本身就具有实现.

正如我在相关教程中所读到的,实现此类接口的类可以使用其静态方法.但是,我有一个问题,在这里,我用一个比我更简单的例子来展示它

public interface Interface1{
    public static void printName(){
        System.out.println("Interface1");
    }
}
Run Code Online (Sandbox Code Playgroud)

当我实现这样的接口

public class Class1 implements Interface1{
    public void doSomeThing() {
        printName();
    }
}
Run Code Online (Sandbox Code Playgroud)

我遇到编译错误.

The method printName() is undefined for the type Class1
Run Code Online (Sandbox Code Playgroud)

有什么问题?

java inheritance static-methods interface java-8

18
推荐指数
1
解决办法
929
查看次数

IntStream奇怪的错误

Java 8有一个名为的新接口IntStream.我用它的of()静态方法遇到了一个奇怪的错误:

这种静态的接口IntStream方法只能作为访问IntStream.of

但正如您在下面的代码中看到的那样,我确切地使用过 IntStream.of

import java.util.stream.IntStream;

public class Test {

    public static void main(String[] args) {
        int[] listOfNumbers = {5,4,13,7,7,8,9,10,5,92,11,3,4,2,1};
        System.out.println(IntStream.of(listOfNumbers).sum());
    }

}
Run Code Online (Sandbox Code Playgroud)

此外,如果您检查API,您将看到该方法已经以我使用的类似方式声明.

java arrays integer compiler-errors java-stream

6
推荐指数
2
解决办法
6051
查看次数