Observable 当我尝试编译时,我一直得到这样一个错误:类不是抽象的,并且不会覆盖MyObserver中的抽象方法更新(Object)
PokemonTrainer不是抽象的,并且不会覆盖MyObserver中的抽象方法更新(对象) 公共类PokemonTrainer实现MyObserver{ ^ 方法不会重写或实现超类型中的方法 @凌驾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
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)