“The constructor is not visible” error

前端 未结 3 686
无人及你
无人及你 2020-12-20 19:52

I have two classes :

First, with one constructor :

public class First {

    First (ObjectA myObjectA) {
        //do stuff
    }
}

相关标签:
3条回答
  • 2020-12-20 20:19

    No access modifier for your constructor makes it package private. Assuming that First and Second are in the same package, you can call Second's constructors from first. Another class from another package, however, cannot access any of the constructors.

    0 讨论(0)
  • 2020-12-20 20:42

    Your class must be in 2 packages. If you don't mention any explicit access modifier Java will consider them as default access modifier. Then you can only access them through the same package only.

    Access Modifiers (From least access to highest access)

    1. private - Only within same class
    2. default - Only within same package
    3. protected - same package + children classes in other packages
    4. public - From anywhere
    0 讨论(0)
  • 2020-12-20 20:45

    Since you are not mentined any modifier the access modifier is now default, that means it is visible only within its own package

    If you try to use it out side the package, you'll face the current error.

    Try to read :What is the default access modifier in Java?

    If you did'nt get understood what @BackSlash is commenting, check the below link

    Problem with : Calling a method from a superclass

    0 讨论(0)
提交回复
热议问题