Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Observable 当我尝试编译时,我一直得到这样一个错误:类不是抽象的,并且不会覆盖MyObserver中的抽象方法更新(Object)_Observable_Observer Pattern_Observers - Fatal编程技术网

Observable 当我尝试编译时,我一直得到这样一个错误:类不是抽象的,并且不会覆盖MyObserver中的抽象方法更新(Object)

Observable 当我尝试编译时,我一直得到这样一个错误:类不是抽象的,并且不会覆盖MyObserver中的抽象方法更新(Object),observable,observer-pattern,observers,Observable,Observer Pattern,Observers,PokemonTrainer不是抽象的,并且不会覆盖MyObserver中的抽象方法更新(对象) 公共类PokemonTrainer实现MyObserver{ ^ 方法不会重写或实现超类型中的方法 @凌驾 public class PokemonTrainer implements MyObserver { private String myName; /** @invariant myName != "" */ /** @param name The nam

PokemonTrainer不是抽象的,并且不会覆盖MyObserver中的抽象方法更新(对象) 公共类PokemonTrainer实现MyObserver{ ^ 方法不会重写或实现超类型中的方法 @凌驾

public class PokemonTrainer implements MyObserver {

    private String myName; /** @invariant myName != "" */

    /**
        @param name The name of the PokemonTrainer
        @since Sunday, Sep 9, 2018

        @custom.require name != ""
    */
    public PokemonTrainer(String name) {
        myName = name;
    }

    /**
        @return A string corresponding to the PokemonTrainer's name
        @custom.ensure  getName() != ""
    */
    public String getName() {
        return myName;

    } 

    @Override
    public void update(MyObservable obs, Object o) {
        String whatHappened = "";
        whatHappened += this + " is notified that " + o;
        System.out.println(whatHappened);
    }

    /**
        @return Returns a string corresponding the the state of the PokemonTrainer
    */
    public String toString() {
        String returnval = "";
        returnval += "PokemonTrainer " + myName;
        return returnval;
    }

} // end class PokemonTrainer

出现错误是因为MyObserver和PokemonTrainer的update()方法具有不同的签名(不同的参数): MyObserver中的更新(对象o) PokemonTrainer中的更新(MyObservable obs,对象o)