如果我有一个带有两个参数的构造函数,我可以像这样调用super吗?
super(a,b).method
例如:
public class Money (){
int euro=0;
int count=0;
public Money(int a,int b) {
a=euro;
b=count;
}
public int getPay(){
return 100;
}
}
public class Pay extends Money{
super(a,b).getPay();
}
这可能吗?
答案 0 :(得分:3)
这是不可能的,也没有任何意义。如果getPay()
是父类'方法,它将可供孩子使用,并且可以像getPay()
或super.getPay()
一样调用,以防孩子覆盖该方法。
答案 1 :(得分:1)
不,但你可以打电话
public class Pay extends Money{
public Pay(int a,int b){
super(a,b);
}
}
以后再做
new Pay(1,4).getPay();
答案 2 :(得分:1)
不完全。然而,您似乎正在尝试做两件事:
如果是这样,那么你想要做的是:
public class Money (){
int euro=0;
int count=0;
public Money(int a,int b) {
a=euro;
b=count;
}
public int getPay(){
return 100;
}
}
public class Pay extends Money{
public Pay(int a, int b) {
super(a, b);
}
public int getPay() {
//This is redundant, see note below
return super.getPay();
}
}
注意:getPay()
此时调用super.getPay()
完全是多余的(因为你要覆盖super.getPay(),如果你没有,你无论如何都可以访问它)。但您现在可以做的是修改方法(例如,return super.getPay() + someVariable;
)。