Class B is inherited from Class A.
Class A have parameterized constructor of access type default which is not accessible (default:it can be accessible from different class but from same package.)
How can i access my constructor of default visibility from another class?
Here I want to access A(int id1,String s)
from public B(int id1,int h1)
,by calling super(999,"super");
it bombards error that create a new constructor
Edit:Class A and B are in same project
public class A {
A(int id1,String s)
{
System.out.println("in parameterized constructor of class A");
}
public class B extends A{
public B(int id1,int h1)
{
super(999,"super");//The constructor A(int, String) is undefined
System.out.println("in parameterized constructor of class B");
}
If
B extends A
,A
only has a default visibility constructor, andB
is not in the same package asA
, then there is absolutely 100% no way to makeB
compile at all. None ofA
's constructors will be visible toB
and that is absolutely necessary.(You can use this deliberately when you need to have a class that needs subclasses but you don't want it to be subclassable outside the package.)