public class A{
public A(int[] a){}
}
public class B extends A{
public B(double[] b){
super({b.length}); //ERROR
}
}
我希望能够编译上述代码。为了澄清,我有一个扩展类A和B。类A没有空参数构造函数。如果我在Class B的构造函数中没有在第一行放置对super的调用,它将尝试调用不存在的super()。但是,我想调用super(int[] a)。我想通过取给定双重数组的长度并将其作为长度为1的数组发送来实现这一点。它不允许我这样做,因为显然不能声明这样的数组,如果我在单独的一行上声明它,它会先调用super(),这不起作用。
有没有办法像那样即时声明int[]?还是唯一的解决方案是要么为A创建一个没有参数的构造函数,要么创建自己的函数返回int[]?
(不要问我为什么要以这种方式发送它。)
super
。正确的答案是第二个。 - OscarRyz