B类继承自A类。
A类具有访问类型default的参数化构造函数,该构造函数不可访问(默认:它可以从不同的类访问,但可以从相同的包中访问。)
如何从另一个类访问我的默认可见性构造函数?
在这里,我想从A(int id1,String s)
访问public B(int id1,int h1)
,通过调用super(999,"super");
轰炸创建新构造函数的错误
编辑:A类和B类在同一个项目中
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");
}
答案 0 :(得分:3)
如果B extends A
,A
只有默认的可见性构造函数,并且B
与A
不在同一个包中,那么绝对有100%没办法make B
编译。 A
的{{1}}个构造函数都不会显示,这是绝对必要的。
(当你需要一个需要子类的类但你不希望它在包外面是可子类化的类时,你可以故意使用它。)