@Override Java父类

时间:2016-02-27 20:27:31

标签: java inheritance encapsulation override

这是我在父类中的代码

System.out.println(information);

,这个来自扩展(非父级)类:

xmlns:fx="http://javafx.com/fxml/1" fx:controller="YOUR_CONTROLLER"

我的问题是什么是错的,什么是正确的? 期待您的留言。如果有必要,我将能够发送整个代码。

2 个答案:

答案 0 :(得分:0)

当处理某个项目时,ChoiceOfItem可能需要返回true,因此仅在这种情况下返回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;
}

答案 1 :(得分:0)

首先要说那些方法一直都是假的。 @Override只是告诉编译器该方法被覆盖的标记。例如,当您更改父类的方法签名以便编译器在子类中告诉您不再覆盖此处时,这是有道理的。