可以从不同的包中访问在友好类中构建的公共构造函数吗?

时间:2013-08-08 09:08:46

标签: java

package mypackage.pack1;
class PackClass {
  public PackClass() {
  System.out.println("I'm creating a packaged class");
  }
}

然后导入包含此类的包。 即使该类不公开,也可以使用公共构造函数吗?或者我是否需要在同一个包中使用它? 我无法自己尝试,因为我无法弄清楚如何在我的ClassPath中使用eclipse保存包以导入它,所以如果你能帮助它也会很好。 感谢

2 个答案:

答案 0 :(得分:2)

由于类修饰符是默认值,因此无法从其他包访问公共构造函数。

答案 1 :(得分:1)

顶级修饰符有效,即在您的示例中默认修饰符即使构造函数是公共的,也是有效的。尝试解释您的代码:

默认 A类 {     public A(){} }

您的公共构造函数在默认级别的可访问类中是封装,那么来自不同包的类如何在不破坏封装的情况下访问此公共构造函数?它根本不可能。亲自尝试一下。