我有两个类(class):
首先,使用一个构造函数:
public class First {
First (ObjectA myObjectA) {
//do stuff
}
}
其次,有两个构造函数:
public class Second {
Second (ObjectB myObjectB) {
//do something...
}
Second (ObjectC myObjectC) {
//do something else...
}
}
当我想实例化我的 First
类时,Eclipse 生成一个错误(“构造函数不可见”),我必须将 public
添加到构造函数中首先
:
First first = new First(myObject); //Error : "The constructor is not visble"
但是当我实例化我的 Second
类时,我没有错误:
Second second = new Second(myObjectC); //No error...
注意:我在另一个类中实例化了First
,但是我在First
中实例化了Second
。 First
和 Second
在同一个包中。
你能解释一下为什么吗?
最佳答案
您的构造函数没有访问修饰符使其包私有(private)。 假设 First 和 Second 在同一个包中,您可以从 first 调用 Second 的构造函数。 但是,另一个包中的另一个类无法访问任何构造函数。
关于java - "The constructor is not visible"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25530382/