相关疑难解决方法(0)

"编译器消息文件坏了" - 我猜一个java编译器的bug?

拿代码:

public class A {
    public static void main(String[] args) {
        new Thread((new I() {})::test);
    }

    interface I {
        private void test() {}
    }
}
Run Code Online (Sandbox Code Playgroud)

并尝试编译.我收到:

A.java:5: error: invalid method reference
        new Thread(((new I() {}))::test);
                   ^
  compiler message file broken: key=compiler.misc.cant.resolve.args arguments=method, test, , , {4}, {5}, {6}, {7}
Run Code Online (Sandbox Code Playgroud)

哪里compiler message file broken似乎是不可理解的东西.这是一个错误还是我遗失了什么?

PS提交了一个错误:ID:9052216

java compiler-errors java-9

11
推荐指数
1
解决办法
2549
查看次数

Java中继承的私有方法

我对在继承中使用私有方法感到困惑,例如:

public class A {
    private void say(int number){
        System.out.print("A:"+number);

    }
}

public class B extends A{
    public void say(int number){
        System.out.print("Over:"+number);
    }
}

public class Tester {
    public static void main(String[] args) {

        A a=new B();
        a.say(12);

    }
}
Run Code Online (Sandbox Code Playgroud)

基于上面的代码,我感到困惑的私有方法的继承,是继承了私有方法class AB?或者两个类中的say方法完全不相关?由于代码有当它在main()方法运行错误,好像class B不能调用从私有方法class A.

java inheritance private-methods

4
推荐指数
1
解决办法
2万
查看次数