java - Child class method not overriding the method of the same signature in parent -


why child class method not overriding method of same signature in parent class?

summary:

i have class playerpaddle extends abstract class paddle, extends abstract class actor (the context here pong game). paddle , playerpaddle both have method same signature:

public void movedown() 

the intention have playerpaddle movedown method override of paddle. problem here when call this.movedown() inside playerpaddle, movedown method of paddle called.

the details:

breakpoints set on movedown() in paddle tripped, while breakpoints on movedown() in playerpaddle never trip. tried @override on playerpaddle movedown method, still calls paddle movedown method.

the context:

the goal playerpaddle objects move up/down @ different speed other paddle objects. same problem occurs moveup method well.

code below:

abstract public class actor {     public void releasedevent(keyevent e) {     } }  abstract public class paddle extends actor {      public void movedown() { // method called           body.setvel(0, game.dx / 10.);         } }   public class playerpaddle extends paddle {     @override     public void movedown() { // method never gets called        body.setvel(0,  game.dx );     }       public void receiveevent(keyevent e) {        if (e.getkeycode() == keyevent.vk_up) {           this.moveup();         } else if (e.getkeycode() == keyevent.vk_down) {           this.movedown(); // want call movedown() inside playerpaddle        }     }  } 

i happy provide clarification.

see simple case, works:

public class test{    public static void main(string args[])   {          new playerpaddle().receiveevent();   } } abstract class actor {   public void releasedevent(keyevent e) {   } } abstract class paddle extends actor {   public void movedown() { // method called       system.out.println("paddle");   } } class playerpaddle extends paddle {   @override   public void movedown() { // method never gets called    system.out.println("playerpaddle");   }    public void receiveevent() {      this.movedown(); // want call movedown() inside playerpaddle         } } 

it calls playerpaddle one.


Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -