怎么用super调用classA里面的构造方法,并且将(12,8)赋值给x,y在第二行输出
你 g 里面传的 int类型, classA里面传的 是 float ,这个 需要转换一下,可以参考如下:
class B extends A {
@Override
float computer(float x, float y) {
return x * y;
}
@Override
public int g(int x, int y){
float result = super.computer((float)x, (float)y);
return (int) result;
}
}
回答如下,记得采纳一下哦!
A类加构造方法
class A{
int x,y;
public A(int x, int y) {
this.x = x;
this.y = y;
}
}
B类
class B extends A{
public B(int x, int y) {
super(x, y);
}
}
创建B的对象
B b = new B(12,8)
首先你那不是构造方法,和类重名的,用来创建对象的是构造方法,你要调用的是那个computer方法吧,这个可不叫构造方法
调用父类的computer就是 super.computer(x,y)
如果你要给父类写构造方法,那是
class A{
int x,y;
public class A(){}
public A(int x, int y) {
this.x = x;
this.y = y;
}
}
class B extends A{
public class B(){}
public B(int x, int y) {
super(x, y);
}
}