相关疑难解决方法(0)

"___中的方法___()在无法访问的类或接口"编译错误中定义

我发现了一个奇怪的编译限制,我无法解释,我不明白这个限制的原因.

实施例-1:

考虑这些类:

package e1;:

public class C1 {
    enum E1 { A, B, C }
    public E1 x;
}
Run Code Online (Sandbox Code Playgroud)

package e2;:

import e1.C1;
public class C2 {
    public String test(C1 c1) {
        return c1.x.toString();    // here compilation error
    } 
}
Run Code Online (Sandbox Code Playgroud)

这会导致以下编译错误:

错误:(5,20)java:toString()in java.lang.Enum在无法访问的类或接口中定义

实施例-2:

考虑这些类:

package i1;:

public interface I1 {
    int someMethod();
}

public class C1 {
    static class I2 implements I1 {
        public int someMethod() {
            return 1; …
Run Code Online (Sandbox Code Playgroud)

java compiler-errors

20
推荐指数
1
解决办法
7705
查看次数

标签 统计

compiler-errors ×1

java ×1