@Override Java 父 Class
@Override Java Parent Class
这是我在父级中的代码 class
public boolean ChoiceOfItem(){
if (bread)
this.Choice("bread");
if (meat)
this.Choice("meat");
if (lettuce)
this.Choice("lettuce");
if (tomato)
this.Choice("tomato");
if (carrot)
this.Choice("carrot");
return false;
}
这个来自扩展(非父)class:
@Override
public boolean ChoiceOfItem() {
if (ryeBread)
this.Choice("ryeBread");
return false;
}
我的问题是哪里出了问题,什么是正确的?
期待您的留言。如果有必要,我将能够发送整个代码。
ChoiceOfItem 在处理某些项目时可能需要 return true,因此仅在这种情况下 return false。
public boolean choiceOfItem(){
if (bread)
this.Choice("bread");
else if (meat)
this.Choice("meat");
else if (lettuce)
this.Choice("lettuce");
else if (tomato)
this.Choice("tomato");
else if (carrot)
this.Choice("carrot");
else return false;
return true;
}
@Override
public boolean choiceOfItem() {
if (super.choiceOfItem())
return true;
if (ryeBread) {
this.Choice("ryeBread");
return true;
}
return false;
}
一开始说那些方法都是return假的。 @Override 只是一个标记,告诉编译器该方法已被覆盖。例如,当您更改父 class 的方法签名时,这很有意义,因此编译器会在子 class 中告诉您您不再在这里重写。
这是我在父级中的代码 class
public boolean ChoiceOfItem(){
if (bread)
this.Choice("bread");
if (meat)
this.Choice("meat");
if (lettuce)
this.Choice("lettuce");
if (tomato)
this.Choice("tomato");
if (carrot)
this.Choice("carrot");
return false;
}
这个来自扩展(非父)class:
@Override
public boolean ChoiceOfItem() {
if (ryeBread)
this.Choice("ryeBread");
return false;
}
我的问题是哪里出了问题,什么是正确的? 期待您的留言。如果有必要,我将能够发送整个代码。
ChoiceOfItem 在处理某些项目时可能需要 return true,因此仅在这种情况下 return false。
public boolean choiceOfItem(){
if (bread)
this.Choice("bread");
else if (meat)
this.Choice("meat");
else if (lettuce)
this.Choice("lettuce");
else if (tomato)
this.Choice("tomato");
else if (carrot)
this.Choice("carrot");
else return false;
return true;
}
@Override
public boolean choiceOfItem() {
if (super.choiceOfItem())
return true;
if (ryeBread) {
this.Choice("ryeBread");
return true;
}
return false;
}
一开始说那些方法都是return假的。 @Override 只是一个标记,告诉编译器该方法已被覆盖。例如,当您更改父 class 的方法签名时,这很有意义,因此编译器会在子 class 中告诉您您不再在这里重写。