相关疑难解决方法(0)

为什么在Java中使用静态嵌套接口?

我刚刚在代码库中找到了一个静态嵌套接口.

class Foo {
    public static interface Bar {
        /* snip */
    }
    /* snip */
}
Run Code Online (Sandbox Code Playgroud)

我以前从未见过这个.最初的开发者是遥不可及的.因此我不得不问:

静态接口背后的语义是什么?如果我删除了会有什么变化static?为什么有人会这样做?

java static interface

233
推荐指数
5
解决办法
8万
查看次数

为什么我不能在内部接口中使用泛型?

我试着编译以下代码:

public interface Foo<T> {
    public interface Bar {
        public void bar(T t);
    }

    void foo(T t);
}
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个错误:"Foo.这不能从静态上下文中引用."

具体来说,我把它放在栏中的"T"(T t).但是foo(T t)不会产生相同的错误.我不明白为什么这是静态上下文以及错误的真正含义.

java static

16
推荐指数
1
解决办法
493
查看次数

标签 统计

java ×2

static ×2

interface ×1