java - "The constructor is not visible"错误

标签 java constructor public

我有两个类(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中实例化了SecondFirstSecond 在同一个包中。

你能解释一下为什么吗?

最佳答案

您的构造函数没有访问修饰符使其包私有(private)。 假设 First 和 Second 在同一个包中,您可以从 first 调用 Second 的构造函数。 但是,另一个包中的另一个类无法访问任何构造函数。

关于java - "The constructor is not visible"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25530382/

相关文章:

c++ - 对象作为参数传递,就像传递构造函数值一样

c++ - 为什么带有 const 关键字的构造函数可以工作,而没有它就不行?

c++ - 智能指针是否排除了两阶段 build 的需要?

excel - 如何在 Excel VBA 中声明全局变量以在整个工作簿中可见

c++ - 如何在类外使用公共(public)成员变量?

c# - 将 null 与对象进行比较而不是将对象与 null 进行比较有什么问题

java - 如何将图片从 url 添加到 Android 中的 Sqlite 数据库并根据索引检索它们

java - 如何在 Android 中的 AsyncTask 上返回匿名列表或 ArrayList

java - 混淆何时使用私有(private)字段与 protected 字段

java - 在 Web 浏览器中打开 Java Applet 时未找到 com.mysql.jdbc.Driver 类