0

关于下面的示例代码,虽然Test类内部的Test()构造函数是public的,但是Test类本身不是public的,所以Test()构造函数不能从它自己的包之外被调用。

这是否会使 public 关键字变得多余?如果是这样,我想知道为什么 javac 在其访问被隐式声明为默认值(“包私有”)的类中使用时不发出关于公共冗余使用的警告?

Test.java,包测试——

package test;
class Test {
    public Test() {}
}

Main.java,包 main -

package main;
class Main {
    public static void main(String[] args) {
        new test.Test();  // Expected error
    }
}

编辑:

需要明确的是:当我编译 Test.java 时,我没有收到任何警告。

4

1 回答 1

0

对我的原始帖子的用户评论帮助我解决了这个问题:我现在意识到 IDE 会给我我所追求的信息,而仅使用 javac 本身不会。谢谢。

于 2014-05-16T19:21:19.967 回答